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:
@@ -273,9 +273,10 @@ int ffio_limit(AVIOContext *s, int size)
|
|||||||
if(!s->maxsize || s->maxsize<newsize)
|
if(!s->maxsize || s->maxsize<newsize)
|
||||||
s->maxsize= newsize;
|
s->maxsize= newsize;
|
||||||
remaining= s->maxsize - avio_tell(s);
|
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);
|
av_log(0, AV_LOG_ERROR, "Truncating packet of size %d to %"PRId64"\n", size, remaining+1);
|
||||||
size= remaining+1;
|
size= remaining+1;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user