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

Reply via email to