avcodec/ira288: Check init_get_bits8() for failure
authorMichael Niedermayer <michael@niedermayer.cc>
Thu, 3 Sep 2015 23:18:13 +0000 (01:18 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Fri, 4 Sep 2015 00:19:06 +0000 (02:19 +0200)
Fixes: CID1322321

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/ra288.c

index 00ce491..8f5a7f2 100644 (file)
@@ -207,14 +207,16 @@ static int ra288_decode_frame(AVCodecContext * avctx, void *data,
         return AVERROR_INVALIDDATA;
     }
 
+    ret = init_get_bits8(&gb, buf, avctx->block_align);
+    if (ret < 0)
+        return ret;
+
     /* get output buffer */
     frame->nb_samples = RA288_BLOCK_SIZE * RA288_BLOCKS_PER_FRAME;
     if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
         return ret;
     out = (float *)frame->data[0];
 
-    init_get_bits8(&gb, buf, avctx->block_align);
-
     for (i=0; i < RA288_BLOCKS_PER_FRAME; i++) {
         float gain = amptable[get_bits(&gb, 3)];
         int cb_coef = get_bits(&gb, 6 + (i&1));