Mercurial > libavformat.hg
changeset 6309:024f95630898 libavformat
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.
author | reimar |
---|---|
date | Sun, 25 Jul 2010 07:52:58 +0000 |
parents | 2b1ab404f1cf |
children | 3d61da0c6e41 |
files | ffmdec.c |
diffstat | 1 files changed, 3 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/ffmdec.c Sat Jul 24 22:50:12 2010 +0000 +++ b/ffmdec.c Sun Jul 25 07:52:58 2010 +0000 @@ -252,6 +252,8 @@ } +static int ffm_close(AVFormatContext *s); + static int ffm_read_header(AVFormatContext *s, AVFormatParameters *ap) { FFMContext *ffm = s->priv_data; @@ -381,12 +383,7 @@ 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; }