Commit b3a18511 authored by Michael Niedermayer's avatar 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/ffmpegSigned-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent 9e5d0860
...@@ -3217,9 +3217,13 @@ end: ...@@ -3217,9 +3217,13 @@ end:
s->low_delay = 1; s->low_delay = 1;
s->avctx->has_b_frames = !s->low_delay; 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); return decode_studio_vop_header(ctx, gb);
else } else
return decode_vop_header(ctx, gb); return decode_vop_header(ctx, gb);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment