Browse code

avformat/avc: return an error in ff_isom_write_avcc if the buffer lenght is too small

Signed-off-by: James Almer <jamrial@gmail.com>

James Almer authored on 2017/11/25 07:42:50
Showing 1 changed files
... ...
@@ -105,7 +105,9 @@ int ff_avc_parse_nal_units_buf(const uint8_t *buf_in, uint8_t **buf, int *size)
105 105
 
106 106
 int ff_isom_write_avcc(AVIOContext *pb, const uint8_t *data, int len)
107 107
 {
108
-    if (len > 6) {
108
+    if (len <= 6)
109
+        return AVERROR_INVALIDDATA;
110
+
109 111
         /* check for H.264 start code */
110 112
         if (AV_RB32(data) == 0x00000001 ||
111 113
             AV_RB24(data) == 0x000001) {
... ...
@@ -157,7 +159,6 @@ int ff_isom_write_avcc(AVIOContext *pb, const uint8_t *data, int len)
157 157
         } else {
158 158
             avio_write(pb, data, len);
159 159
         }
160
-    }
161 160
     return 0;
162 161
 }
163 162