]> git.sesse.net Git - ffmpeg/commitdiff
avformat/mp3dec: properly allocate dummy AVCodecContext
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 26 Feb 2015 18:59:44 +0000 (19:59 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 26 Feb 2015 19:02:23 +0000 (20:02 +0100)
Fixes (harmless) use of uninitialized variable

Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/mp3dec.c

index 480cffedad083352d7427a218de1aaee38c5ebad..44de9b57e7e9f9bce1a43bd1793deeec141c7189 100644 (file)
@@ -61,7 +61,7 @@ static int mp3_read_probe(AVProbeData *p)
     int fsize, frames;
     uint32_t header;
     const uint8_t *buf, *buf0, *buf2, *end;
-    AVCodecContext avctx;
+    AVCodecContext *avctx = avcodec_alloc_context3(NULL);
 
     buf0 = p->buf;
     end = p->buf + p->buf_size - sizeof(uint32_t);
@@ -79,7 +79,7 @@ static int mp3_read_probe(AVProbeData *p)
         for(frames = 0; buf2 < end; frames++) {
             int dummy;
             header = AV_RB32(buf2);
-            fsize = avpriv_mpa_decode_header(&avctx, header, &dummy, &dummy, &dummy, &dummy);
+            fsize = avpriv_mpa_decode_header(avctx, header, &dummy, &dummy, &dummy, &dummy);
             if(fsize < 0)
                 break;
             buf2 += fsize;
@@ -88,6 +88,7 @@ static int mp3_read_probe(AVProbeData *p)
         if(buf == buf0)
             first_frames= frames;
     }
+    avcodec_free_context(&avctx);
     // keep this in sync with ac3 probe, both need to avoid
     // issues with MPEG-files!
     if   (first_frames>=4) return AVPROBE_SCORE_EXTENSION + 1;