]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/cbs_vp9: Check data_size
authorMichael Niedermayer <michael@niedermayer.cc>
Wed, 25 Dec 2019 23:57:07 +0000 (00:57 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Thu, 26 Dec 2019 15:06:25 +0000 (16:06 +0100)
Fixes: out of array access
Fixes: 19542/clusterfuzz-testcase-minimized-ffmpeg_BSF_TRACE_HEADERS_fuzzer-5659498341728256
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/cbs_vp9.c

index 98730e03e3a2023735d9219cff2d2b1280b45e7e..ec82f11c768578b27a3a9d8fbcdbb27c9e90034d 100644 (file)
@@ -416,6 +416,9 @@ static int cbs_vp9_split_fragment(CodedBitstreamContext *ctx,
     uint8_t superframe_header;
     int err;
 
+    if (frag->data_size == 0)
+        return AVERROR_INVALIDDATA;
+
     // Last byte in the packet.
     superframe_header = frag->data[frag->data_size - 1];