dcaenc: fix segfault when attempting to encode with invalid samplerate
authorRostislav Pehlivanov <atomnuker@gmail.com>
Sat, 5 May 2018 17:42:53 +0000 (18:42 +0100)
committerRostislav Pehlivanov <atomnuker@gmail.com>
Sat, 5 May 2018 18:41:30 +0000 (19:41 +0100)
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
libavcodec/dcaenc.c

index 186997c..4b4ceef 100644 (file)
@@ -152,8 +152,11 @@ static int subband_bufer_alloc(DCAEncContext *c)
 
 static void subband_bufer_free(DCAEncContext *c)
 {
-    int32_t *bufer = c->subband[0][0] - DCA_ADPCM_COEFFS;
-    av_freep(&bufer);
+    if (c->subband[0][0]) {
+        int32_t *bufer = c->subband[0][0] - DCA_ADPCM_COEFFS;
+        av_free(bufer);
+        c->subband[0][0] = NULL;
+    }
 }
 
 static int encode_init(AVCodecContext *avctx)