avio: Fix ffio_limit() when due to seeking past the end less than 0 bytes remain.
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 25 Dec 2011 03:48:26 +0000 (04:48 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 25 Dec 2011 03:48:26 +0000 (04:48 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/utils.c

index db2ca56..7248f91 100644 (file)
@@ -276,9 +276,10 @@ int ffio_limit(AVIOContext *s, int size)
             if(!s->maxsize || s->maxsize<newsize)
                 s->maxsize= newsize;
             remaining= s->maxsize - avio_tell(s);
+            remaining= FFMAX(remaining, 0);
         }
 
-        if(s->maxsize>=0 && remaining>=0 && remaining+1 < size){
+        if(s->maxsize>=0 && remaining+1 < size){
             av_log(0, AV_LOG_ERROR, "Truncating packet of size %d to %"PRId64"\n", size, remaining+1);
             size= remaining+1;
         }