]> git.sesse.net Git - vlc/commitdiff
Fix infinite loop
authorRafaël Carré <funman@videolan.org>
Sat, 29 Mar 2008 05:31:02 +0000 (06:31 +0100)
committerRafaël Carré <funman@videolan.org>
Mon, 31 Mar 2008 13:24:00 +0000 (15:24 +0200)
modules/codec/ffmpeg/demux.c

index de5f66a67e66cfeee1e3611b28f440d3228b4665..7ea987aa0f6f12656e635fbd0f991e45988ee265 100644 (file)
@@ -492,8 +492,13 @@ static offset_t IOSeek( void *opaque, offset_t offset, int whence )
     }
     if( i_absolute < 0 )
         i_absolute = 0;
-    if( i_size && i_absolute > i_size )
-        i_absolute = i_size;
+    if( i_size )
+    {
+        if( i_absolute > i_size )
+            i_absolute = i_size;
+        if( stream_Tell( p_demux->s ) >= i_size )
+            return -1;
+    }
 
     if( stream_Seek( p_demux->s, i_absolute ) )
     {