avio: Fix ffio_limit() when due to seeking past the end less than 0 bytes remain.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 27d323577c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer
2011-12-25 04:48:26 +01:00
parent 7c67d9c6fb
commit 0231a68ecd

View File

@@ -273,9 +273,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;
}