vmdaudio: set *data_size to zero when skipping small packets and add a warning log...
authorJustin Ruggles <justin.ruggles@gmail.com>
Wed, 23 Feb 2011 18:11:06 +0000 (13:11 -0500)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 26 Feb 2011 02:16:03 +0000 (03:16 +0100)
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 7a4fb3fd9357dfdd27431a0a8d7250dab54a9938)

libavcodec/vmdav.c

index b338da3..1407c96 100644 (file)
@@ -514,8 +514,11 @@ static int vmdaudio_decode_frame(AVCodecContext *avctx,
     /* point to the start of the encoded data */
     const unsigned char *p = buf + 16;
 
-    if (buf_size < 16)
+    if (buf_size < 16) {
+        av_log(avctx, AV_LOG_WARNING, "skipping small junk packet\n");
+        *data_size = 0;
         return buf_size;
+    }
 
     block_type = buf[6];
     if (block_type < BLOCK_TYPE_AUDIO || block_type > BLOCK_TYPE_SILENCE) {