]> git.sesse.net Git - ffmpeg/commitdiff
dv: Fix null pointer dereference due to ach=0
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 24 Jan 2012 17:51:40 +0000 (18:51 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 25 Jan 2012 15:41:27 +0000 (16:41 +0100)
Fixes part2 of CVE-2011-3929

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Reviewed-by: Roman Shaposhnik <roman@shaposhnik.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/dv.c

index 062c56787f298909476a027f7e2c9151822c9d2a..86ed1e954e6451352f7af83816c98e9283ba71d8 100644 (file)
@@ -384,7 +384,8 @@ int avpriv_dv_produce_packet(DVDemuxContext *c, AVPacket *pkt,
        c->audio_pkt[i].pts  = c->abytes * 30000*8 / c->ast[i]->codec->bit_rate;
        ppcm[i] = c->audio_buf[i];
     }
-    dv_extract_audio(buf, ppcm, c->sys);
+    if (c->ach)
+        dv_extract_audio(buf, ppcm, c->sys);
 
     /* We work with 720p frames split in half, thus even frames have
      * channels 0,1 and odd 2,3. */