wmadec: require block_align to be set.
authorAnton Khirnov <anton@khirnov.net>
Wed, 6 Mar 2013 08:58:00 +0000 (09:58 +0100)
committerReinhard Tartler <siretart@tauware.de>
Sat, 9 Mar 2013 17:54:28 +0000 (18:54 +0100)
Avoids an infinite loop in the calling programs with decoder not
consuming any input and not returning output.

CC:libav-stable@libav.org
(cherry picked from commit ea1136baafb1fe271cb56c3f4d7bff0267e3c70f)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
(cherry picked from commit c1f479e8df24284237c80ad959619fc85e29a26d)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
libavcodec/wmadec.c

index a730059..c88a035 100644 (file)
@@ -85,6 +85,11 @@ static int wma_decode_init(AVCodecContext * avctx)
     int i, flags2;
     uint8_t *extradata;
 
+    if (!avctx->block_align) {
+        av_log(avctx, AV_LOG_ERROR, "block_align is not set\n");
+        return AVERROR(EINVAL);
+    }
+
     s->avctx = avctx;
 
     /* extract flag infos */