From e6df35b3be5f722f49390b9950dde78975f33350 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 (cherry picked from commit d64066f6e88c827e33002b2c7740efd62cd5ba7f) --- libavformat/utils.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index 52b2ae95bf..a582ddcc61 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -1133,7 +1133,10 @@ static int av_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) &&