From d08ea75a825a8091e995a8e0d7c415ccc4339ec9 Mon Sep 17 00:00:00 2001 From: Peter Ross Date: Mon, 23 Dec 2013 21:04:45 +1100 Subject: [PATCH] wtvenc: test avio_size() validity Signed-off-by: Michael Niedermayer --- libavformat/wtvdec.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavformat/wtvdec.c b/libavformat/wtvdec.c index 48f51ad913..ce767549a4 100644 --- a/libavformat/wtvdec.c +++ b/libavformat/wtvdec.c @@ -153,6 +153,7 @@ static AVIOContext * wtvfile_open_sector(int first_sector, uint64_t length, int AVIOContext *pb; WtvFile *wf; uint8_t *buffer; + int64_t size; if (seek_by_sector(s->pb, first_sector, 0) < 0) return NULL; @@ -205,7 +206,8 @@ static AVIOContext * wtvfile_open_sector(int first_sector, uint64_t length, int return NULL; } - if ((int64_t)wf->sectors[wf->nb_sectors - 1] << WTV_SECTOR_BITS > avio_size(s->pb)) + size = avio_size(s->pb); + if (size >= 0 && (int64_t)wf->sectors[wf->nb_sectors - 1] << WTV_SECTOR_BITS > size) av_log(s, AV_LOG_WARNING, "truncated file\n"); /* check length */ -- 2.11.0