Check that we have enough input data in IMC decoder.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Tue, 5 Feb 2008 18:39:55 +0000 (18:39 +0000)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Tue, 5 Feb 2008 18:39:55 +0000 (18:39 +0000)
Originally committed as revision 11872 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/imc.c

index 35702f9..237ff68 100644 (file)
@@ -638,6 +638,10 @@ static int imc_decode_frame(AVCodecContext * avctx,
     int counter, bitscount;
     uint16_t buf16[IMC_BLOCK_SIZE / 2];
 
+    if (buf_size < IMC_BLOCK_SIZE) {
+        av_log(avctx, AV_LOG_ERROR, "imc frame too small!\n");
+        return -1;
+    }
     for(i = 0; i < IMC_BLOCK_SIZE / 2; i++)
         buf16[i] = bswap_16(((const uint16_t*)buf)[i]);