asf: reset side data elements on packet copy.
authorRonald S. Bultje <rsbultje@gmail.com>
Wed, 21 Mar 2012 23:10:37 +0000 (16:10 -0700)
committerRonald S. Bultje <rsbultje@gmail.com>
Thu, 22 Mar 2012 19:17:14 +0000 (12:17 -0700)
Prevents crash (double free) when free()ing the original packet.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
libavformat/asfdec.c

index 0789960..d3869b4 100644 (file)
@@ -1072,6 +1072,8 @@ static int ff_asf_parse_packet(AVFormatContext *s, AVIOContext *pb, AVPacket *pk
             //printf("packet %d %d\n", asf_st->pkt.size, asf->packet_frag_size);
             asf_st->pkt.size = 0;
             asf_st->pkt.data = 0;
+            asf_st->pkt.side_data_elems = 0;
+            asf_st->pkt.side_data = NULL;
             break; // packet completed
         }
     }