aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2015-11-06 00:56:04 +0100
committerAndreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>2015-11-26 01:38:17 +0100
commit2ccab79595ae6a7653e503c82d5efc98a10f2be9 (patch)
treeb6c4a87dde79e23a38707d07c006a1cc41d3cb9b
parent458b1fda34153510cdc9d4fee95f718aec665e9c (diff)
downloadffmpeg-2ccab79595ae6a7653e503c82d5efc98a10f2be9.tar.gz
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: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
-rw-r--r--libavcodec/mpeg12dec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c
index d5e1fb6662..5fb4739cca 100644
--- a/libavcodec/mpeg12dec.c
+++ b/libavcodec/mpeg12dec.c
@@ -1907,7 +1907,7 @@ static int mpeg_decode_slice(MpegEncContext *s, int mb_y,
(left && show_bits(&s->gb, FFMIN(left, 23)) && !is_d10) ||
((avctx->err_recognition & (AV_EF_BITSTREAM | AV_EF_AGGRESSIVE)) && left > 8)) {
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 -1;
} else
goto eos;