Browse Source

ffmdec: Do not manually free streams on read_header error, this is always

handled by upper layers.
Fixes double-frees (issue 2003).
Instead call ffm_close to ensure rc_eqs are freed also in the error case.

Originally committed as revision 24490 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/n0.8
Reimar Döffinger 15 years ago
parent
commit
527b46ba26
1 changed files with 3 additions and 6 deletions
  1. +3
    -6
      libavformat/ffmdec.c

+ 3
- 6
libavformat/ffmdec.c View File

@@ -252,6 +252,8 @@ static void adjust_write_index(AVFormatContext *s)
}


static int ffm_close(AVFormatContext *s);

static int ffm_read_header(AVFormatContext *s, AVFormatParameters *ap)
{
FFMContext *ffm = s->priv_data;
@@ -381,12 +383,7 @@ static int ffm_read_header(AVFormatContext *s, AVFormatParameters *ap)
ffm->first_packet = 1;
return 0;
fail:
for(i=0;i<s->nb_streams;i++) {
st = s->streams[i];
if (st) {
av_free(st);
}
}
ffm_close(s);
return -1;
}



Loading…
Cancel
Save