From: Michael Niedermayer Date: Sat, 17 Feb 2007 02:46:47 +0000 (+0000) Subject: not checking error return, resulting double free X-Git-Tag: v0.5~10054 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=49c8132b17ec26666d71ee94a50f421b84feeb35;p=coroid%2Flibav_saccubus.git not checking error return, resulting double free returning uninitalized pointers Originally committed as revision 8002 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavformat/ipmovie.c b/libavformat/ipmovie.c index e6470fa0c..975bfd36b 100644 --- a/libavformat/ipmovie.c +++ b/libavformat/ipmovie.c @@ -227,7 +227,7 @@ static int process_ipmovie_chunk(IPMVEContext *s, ByteIOContext *pb, /* see if there are any pending packets */ chunk_type = load_ipmovie_packet(s, pb, pkt); - if ((chunk_type == CHUNK_VIDEO) && (chunk_type != CHUNK_DONE)) + if (chunk_type != CHUNK_DONE) return chunk_type; /* read the next chunk, wherever the file happens to be pointing */ @@ -601,8 +601,10 @@ static int ipmovie_read_packet(AVFormatContext *s, ret = AVERROR_IO; else if (ret == CHUNK_NOMEM) ret = AVERROR_NOMEM; - else + else if (ret == CHUNK_VIDEO) ret = 0; + else + ret = -1; return ret; }