mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2026-01-06 06:05:32 +01:00
riff: retry reading metadata without padding if it fails with
Fixes Ticket1821
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d0c27e88d2)
This commit is contained in:
committed by
Carl Eugen Hoyos
parent
69cc119d64
commit
c6850d3862
@@ -735,8 +735,13 @@ int ff_read_riff_info(AVFormatContext *s, int64_t size)
|
||||
chunk_code = avio_rl32(pb);
|
||||
chunk_size = avio_rl32(pb);
|
||||
if (chunk_size > end || end - chunk_size < cur || chunk_size == UINT_MAX) {
|
||||
av_log(s, AV_LOG_ERROR, "too big INFO subchunk\n");
|
||||
return AVERROR_INVALIDDATA;
|
||||
avio_seek(pb, -9, SEEK_CUR);
|
||||
chunk_code = avio_rl32(pb);
|
||||
chunk_size = avio_rl32(pb);
|
||||
if (chunk_size > end || end - chunk_size < cur || chunk_size == UINT_MAX) {
|
||||
av_log(s, AV_LOG_ERROR, "too big INFO subchunk\n");
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
}
|
||||
|
||||
chunk_size += (chunk_size & 1);
|
||||
|
||||
Reference in New Issue
Block a user