mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-25 04:30:02 +00:00
riff: only warn on a bad INFO chunk code size instead of failing
fixes Bug 392
This commit is contained in:
parent
d89f2fa970
commit
3c370f5abc
@ -726,9 +726,10 @@ 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;
|
||||
av_log(s, AV_LOG_WARNING, "too big INFO subchunk\n");
|
||||
break;
|
||||
}
|
||||
|
||||
chunk_size += (chunk_size & 1);
|
||||
@ -743,8 +744,8 @@ int ff_read_riff_info(AVFormatContext *s, int64_t size)
|
||||
|
||||
if (avio_read(pb, value, chunk_size) != chunk_size) {
|
||||
av_free(value);
|
||||
av_log(s, AV_LOG_ERROR, "premature end of file while reading INFO tag\n");
|
||||
return AVERROR_INVALIDDATA;
|
||||
av_log(s, AV_LOG_WARNING, "premature end of file while reading INFO tag\n");
|
||||
break;
|
||||
}
|
||||
|
||||
value[chunk_size] = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user