Fix a condition that causes an infinite loop, but only when compiled with
authorMike Melanson <mike@multimedia.cx>
Wed, 4 Mar 2009 05:40:53 +0000 (05:40 +0000)
committerMike Melanson <mike@multimedia.cx>
Wed, 4 Mar 2009 05:40:53 +0000 (05:40 +0000)
gcc 4.2.4 on x86_32. Thanks to Vitor for hunting this down.

Originally committed as revision 17802 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/wc3movie.c

index 6d7592f..59b11ae 100644 (file)
@@ -293,7 +293,7 @@ static int wc3_read_packet(AVFormatContext *s,
         /* get the next chunk preamble */
         if ((ret = get_buffer(pb, preamble, WC3_PREAMBLE_SIZE)) !=
             WC3_PREAMBLE_SIZE)
-            ret = AVERROR(EIO);
+            return AVERROR(EIO);
 
         fourcc_tag = AV_RL32(&preamble[0]);
         /* chunk sizes are 16-bit aligned */