From d64066f6e88c827e33002b2c7740efd62cd5ba7f Mon Sep 17 00:00:00 2001 From: Gavin Kinsey Date: Thu, 8 Sep 2011 13:01:14 +0100 Subject: [PATCH] Prevent double free of side_data when AVFMT_FLAG_KEEP_SIDE_DATA flag is set --- libavformat/utils.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index d3a0d4a0c2..706c2b4932 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -1146,7 +1146,10 @@ static int read_frame_internal(AVFormatContext *s, AVPacket *pkt) if (!st->need_parsing || !st->parser) { /* no parsing needed: we just output the packet as is */ /* raw data support */ - *pkt = st->cur_pkt; st->cur_pkt.data= NULL; + *pkt = st->cur_pkt; + st->cur_pkt.data= NULL; + st->cur_pkt.side_data_elems = 0; + st->cur_pkt.side_data = NULL; compute_pkt_fields(s, st, NULL, pkt); s->cur_st = NULL; if ((s->iformat->flags & AVFMT_GENERIC_INDEX) &&