[FFmpeg-cvslog] Make sure neither data_size nor sample_count is negative

Tomas Härdin git at videolan.org
Tue May 17 22:26:50 CEST 2011


ffmpeg | branch: master | Tomas Härdin <tomas.hardin at codemill.se> | Tue May 17 19:52:36 2011 +0200| [3d922c84622e7bf8603390b154630c3d62b93b12] | committer: Michael Niedermayer

Make sure neither data_size nor sample_count is negative

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3d922c84622e7bf8603390b154630c3d62b93b12
---

 libavformat/wav.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/libavformat/wav.c b/libavformat/wav.c
index 1832bc9..6b1e574 100644
--- a/libavformat/wav.c
+++ b/libavformat/wav.c
@@ -238,6 +238,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 = %li, sample_count = %li\n",
+                   data_size, sample_count);
+            return AVERROR_INVALIDDATA;
+        }
         avio_skip(pb, size - 16); /* skip rest of ds64 chunk */
     }
 



More information about the ffmpeg-cvslog mailing list