diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index 4a595e2e43..ab8fc1da39 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -172,7 +172,9 @@ offset_t url_fsize(ByteIOContext *s) return -EPIPE; size = s->seek(s->opaque, 0, AVSEEK_SIZE); if(size<0){ - size = s->seek(s->opaque, -1, SEEK_END) + 1; + if ((size = s->seek(s->opaque, -1, SEEK_END)) < 0) + return size; + size++; s->seek(s->opaque, s->pos, SEEK_SET); } return size;