# HG changeset patch # User gpoirier # Date 1170153472 0 # Node ID 2649c0a9c0378ffa5afd69230a893d3e722900a6 # Parent 699a422bca901a1ae4b9ae8488f024da967ee08f protect the size=seek(SEEK_END,-1)+1 results with an if (.. < 0), else the return value may still end up being zero (if the seek returns -1, which is e.g. what file.c will return on error), which is a valid (but incorrect) filesize. Patch by Ronald S. Bultje % rbultje A ronald P bitfreak P net % Original thread: date: Jan 2, 2007 2:11 AM subject: [Ffmpeg-devel] Re: [PATCH] file length handling diff -r 699a422bca90 -r 2649c0a9c037 avio.c --- a/avio.c Mon Jan 29 15:02:57 2007 +0000 +++ b/avio.c Tue Jan 30 10:37:52 2007 +0000 @@ -154,7 +154,9 @@ size= url_seek(h, 0, AVSEEK_SIZE); if(size<0){ pos = url_seek(h, 0, SEEK_CUR); - size = url_seek(h, -1, SEEK_END)+1; + if ((size = url_seek(h, -1, SEEK_END)) < 0) + return size; + size++; url_seek(h, pos, SEEK_SET); } return size;