wtvenc: test avio_size() validity

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Peter Ross 2013-12-23 21:04:45 +11:00 committed by Michael Niedermayer
parent 5a1bfa7ed7
commit d08ea75a82
1 changed files with 3 additions and 1 deletions

View File

@ -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 */