avcodec/wmaenc: Check ff_wma_init() for failure
authorMichael Niedermayer <michael@niedermayer.cc>
Thu, 21 Jan 2016 01:38:05 +0000 (02:38 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Thu, 21 Jan 2016 01:39:09 +0000 (02:39 +0100)
Fixes null pointer dereference
Fixes: c4faf8280ba366bf00a79d425f2910a8/signal_sigsegv_1f96477_5177_1448ba7e4125faceb966f44ceb69abfa.qcp
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/wmaenc.c

index abe8e4b..d0727e6 100644 (file)
@@ -33,6 +33,7 @@ static av_cold int encode_init(AVCodecContext *avctx)
     WMACodecContext *s = avctx->priv_data;
     int i, flags1, flags2, block_align;
     uint8_t *extradata;
+    int ret;
 
     s->avctx = avctx;
 
@@ -83,7 +84,8 @@ static av_cold int encode_init(AVCodecContext *avctx)
     if (avctx->channels == 2)
         s->ms_stereo = 1;
 
-    ff_wma_init(avctx, flags2);
+    if ((ret = ff_wma_init(avctx, flags2)) < 0)
+        return ret;
 
     /* init MDCT */
     for (i = 0; i < s->nb_block_sizes; i++)