diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index 4a595e2e437bc8b00002ca2438d7aa235044309b..ab8fc1da3993ca086cb5b34f1faa6ee5714e8144 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;