dvdsubdec: fix bad free in dvdsub_init
authorKelly Anderson <kelly@silka.with-linux.com>
Wed, 14 Sep 2011 05:14:37 +0000 (07:14 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 14 Sep 2011 05:14:37 +0000 (07:14 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/dvdsubdec.c

index 9eb5665..021d30d 100644 (file)
@@ -516,12 +516,12 @@ static int dvdsub_decode(AVCodecContext *avctx,
 static int dvdsub_init(AVCodecContext *avctx)
 {
     DVDSubContext *ctx = (DVDSubContext*) avctx->priv_data;
-    char *data;
+    char *dataorig, *data;
 
     if (!avctx->extradata || !avctx->extradata_size)
         return 1;
 
-    data = av_malloc(avctx->extradata_size+1);
+    dataorig = data = av_malloc(avctx->extradata_size+1);
     if (!data)
         return AVERROR(ENOMEM);
     memcpy(data, avctx->extradata, avctx->extradata_size);
@@ -555,7 +555,7 @@ static int dvdsub_init(AVCodecContext *avctx)
         av_log(avctx, AV_LOG_DEBUG, "\n");
     }
 
-    av_free(data);
+    av_free(dataorig);
     return 1;
 }