yop: Do not keep a copy of parts of the returned packet
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 28 Mar 2013 22:59:41 +0000 (23:59 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 29 Mar 2013 01:11:34 +0000 (02:11 +0100)
Fixes double free
Regression since the new buffer references, thus no FFmpeg
releases should be affected

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/yop.c

index d1c0129..c84deea 100644 (file)
@@ -135,8 +135,7 @@ static int yop_read_packet(AVFormatContext *s, AVPacket *pkt)
 
     if (yop->video_packet.data) {
         *pkt                   =  yop->video_packet;
-        yop->video_packet.data =  NULL;
-        yop->video_packet.size =  0;
+        memset(&yop->video_packet, 0, sizeof(yop->video_packet));
         pkt->data[0]           =  yop->odd_frame;
         pkt->flags             |= AV_PKT_FLAG_KEY;
         yop->odd_frame         ^= 1;