ffmpeg | branch: release/4.0 | Michael Niedermayer <mich...@niedermayer.cc> | Sun Apr 29 20:28:46 2018 +0200| [b367c23da125b5f27b734310b357098d8a2906dc] | committer: Michael Niedermayer
avcodec/mpeg4videodec: Check bps (VOL header) before VOP for studio profile Fixes: runtime error: shift exponent -1 is negative Fixes: 7486/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-4977380939530240 Fixes: runtime error: index 36 out of bounds for type 'const uint8_t [32]' Fixes: 7566/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-6536620682510336 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> (cherry picked from commit b3a18511cc93082ebecce0861bc15d7f548492e0) Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b367c23da125b5f27b734310b357098d8a2906dc --- libavcodec/mpeg4videodec.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index 9ee2f37c69..561ee2fa33 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -3219,9 +3219,13 @@ end: s->low_delay = 1; s->avctx->has_b_frames = !s->low_delay; - if (s->studio_profile) + if (s->studio_profile) { + if (!s->avctx->bits_per_raw_sample) { + av_log(s->avctx, AV_LOG_ERROR, "Missing VOL header\n"); + return AVERROR_INVALIDDATA; + } return decode_studio_vop_header(ctx, gb); - else + } else return decode_vop_header(ctx, gb); } _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog