aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-12-14 22:20:39 +0100
committerMichael Niedermayer <michaelni@gmx.at>2011-12-16 15:21:19 +0100
commitbf928ebed2c5569e20ccbe4d44b66a41f532f316 (patch)
treedc23cbe12b6c8f78edbc079e75a311fedcb07ed2
parentf52324629a0f8e3a022a494fabfe0a4354f78f99 (diff)
downloadffmpeg-bf928ebed2c5569e20ccbe4d44b66a41f532f316.tar.gz
4xm: check if there are bits left in decode_i_block()
Fixed Ticket753 Bug Found by: Diana Elena Muscalu Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit e1ba29c76430ce511fd901c8b7a1bd199b169dc0) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/4xm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/4xm.c b/libavcodec/4xm.c
index 9350f06e9b..f854f1cfb5 100644
--- a/libavcodec/4xm.c
+++ b/libavcodec/4xm.c
@@ -459,6 +459,11 @@ static int decode_p_frame(FourXContext *f, const uint8_t *buf, int length){
static int decode_i_block(FourXContext *f, DCTELEM *block){
int code, i, j, level, val;
+ if(get_bits_left(&f->gb) < 2){
+ av_log(f->avctx, AV_LOG_ERROR, "%d bits left before decode_i_block()\n", get_bits_left(&f->gb));
+ return -1;
+ }
+
/* DC coef */
val = get_vlc2(&f->pre_gb, f->pre_vlc.table, ACDC_VLC_BITS, 3);
if (val>>4){