Module: libav Branch: master Commit: 1cf18de982a0a62fa9214a6c4a5becc1a32d9caf
Author: Tomas Härdin <[email protected]> Committer: Anton Khirnov <[email protected]> Date: Tue May 17 19:52:36 2011 +0200 wav: make sure neither data_size nor sample_count is negative. Signed-off-by: Anton Khirnov <[email protected]> --- libavformat/wav.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/libavformat/wav.c b/libavformat/wav.c index 3e4e0c4..9f902be 100644 --- a/libavformat/wav.c +++ b/libavformat/wav.c @@ -318,6 +318,12 @@ static int wav_read_header(AVFormatContext *s, avio_rl64(pb); /* RIFF size */ data_size = avio_rl64(pb); sample_count = avio_rl64(pb); + if (data_size < 0 || sample_count < 0) { + av_log(s, AV_LOG_ERROR, "negative data_size and/or sample_count in " + "ds64: data_size = %"PRId64", sample_count = %"PRId64"\n", + data_size, sample_count); + return AVERROR_INVALIDDATA; + } avio_skip(pb, size - 16); /* skip rest of ds64 chunk */ } _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
