mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
avcodec/mpeg12dec: Do not call show_bits() with invalid bits
Fixes assertion failure Fixes: 63e50545709a6440d3d59f6426d58db9/signal_sigabrt_7ffff6ae7cc9_8189_3272a3010fd98ddf947c662bbde1ac13.ts Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 973c3dba27d0b1a88c70f6661b6a90d2f2e50665) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
a7bbb7fb88
commit
6e085f9a32
@ -1953,7 +1953,7 @@ static int mpeg_decode_slice(MpegEncContext *s, int mb_y,
|
|||||||
(left && show_bits(&s->gb, FFMIN(left, 23)) && !is_d10) ||
|
(left && show_bits(&s->gb, FFMIN(left, 23)) && !is_d10) ||
|
||||||
((avctx->err_recognition & (AV_EF_BITSTREAM | AV_EF_AGGRESSIVE)) && left > 8)) {
|
((avctx->err_recognition & (AV_EF_BITSTREAM | AV_EF_AGGRESSIVE)) && left > 8)) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "end mismatch left=%d %0X\n",
|
av_log(avctx, AV_LOG_ERROR, "end mismatch left=%d %0X\n",
|
||||||
left, show_bits(&s->gb, FFMIN(left, 23)));
|
left, left>0 ? show_bits(&s->gb, FFMIN(left, 23)) : 0);
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
} else
|
} else
|
||||||
goto eos;
|
goto eos;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user