]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/takdec: always check bits_per_raw_sample
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 31 Jan 2014 18:16:02 +0000 (19:16 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 31 Jan 2014 18:54:27 +0000 (19:54 +0100)
Fixes out of array access
Fixes: asan_heap-oob_19c7a94_6470_cov_1453611734_luckynight-partial.tak
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/takdec.c

index fcbe10ad3cfcc12dac5f923db96d92bfc2c32c72..86ca3ac0134ad646134b6eea99d3e027cf118be6 100644 (file)
@@ -721,11 +721,9 @@ static int tak_decode_frame(AVCodecContext *avctx, void *data,
         return AVERROR_INVALIDDATA;
     }
 
-    if (s->ti.bps != avctx->bits_per_raw_sample) {
-        avctx->bits_per_raw_sample = s->ti.bps;
-        if ((ret = set_bps_params(avctx)) < 0)
-            return ret;
-    }
+    avctx->bits_per_raw_sample = s->ti.bps;
+    if ((ret = set_bps_params(avctx)) < 0)
+        return ret;
     if (s->ti.sample_rate != avctx->sample_rate) {
         avctx->sample_rate = s->ti.sample_rate;
         set_sample_rate_params(avctx);