Prevent double free of side_data when AVFMT_FLAG_KEEP_SIDE_DATA flag is set

This commit is contained in:
Gavin Kinsey 2011-09-08 13:01:14 +01:00 committed by Michael Niedermayer
parent 5241bc2773
commit d64066f6e8
1 changed files with 4 additions and 1 deletions

View File

@ -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) &&