diff --git a/libavformat/wavdec.c b/libavformat/wavdec.c index 410c2ec1f9..befc664688 100644 --- a/libavformat/wavdec.c +++ b/libavformat/wavdec.c @@ -335,9 +335,14 @@ static int wav_read_header(AVFormatContext *s) if (rf64) { next_tag_ofs = wav->data_end = avio_tell(pb) + data_size; - } else { + } else if (size != 0xFFFFFFFF) { data_size = size; next_tag_ofs = wav->data_end = size ? next_tag_ofs : INT64_MAX; + } else { + av_log(s, AV_LOG_WARNING, "Ignoring maximum wav data size, " + "file may be invalid\n"); + data_size = 0; + next_tag_ofs = wav->data_end = INT64_MAX; } data_ofs = avio_tell(pb);