dpcm: return error if packet is too small
authorJustin Ruggles <justin.ruggles@gmail.com>
Sun, 11 Sep 2011 17:18:51 +0000 (13:18 -0400)
committerJustin Ruggles <justin.ruggles@gmail.com>
Fri, 30 Sep 2011 22:15:53 +0000 (18:15 -0400)
libavcodec/dpcm.c

index d4cf806..6ba8ab1 100644 (file)
@@ -201,7 +201,10 @@ static int dpcm_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
         break;
     }
     out *= av_get_bytes_per_sample(avctx->sample_fmt);
-
+    if (out < 0) {
+        av_log(avctx, AV_LOG_ERROR, "packet is too small\n");
+        return AVERROR(EINVAL);
+    }
     if (*data_size < out) {
         av_log(avctx, AV_LOG_ERROR, "output buffer is too small\n");
         return AVERROR(EINVAL);