]> git.sesse.net Git - ffmpeg/commitdiff
avformat/wavdec: Check for data_size overflow
authorMichael Niedermayer <michael@niedermayer.cc>
Wed, 29 Jul 2015 11:34:50 +0000 (13:34 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Wed, 29 Jul 2015 11:47:44 +0000 (13:47 +0200)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavformat/wavdec.c

index db42f59826e79339c9a014a9835a5a400c83eaf0..1803b5cdafe7c6852679c8957a589aa78d8a0ac4 100644 (file)
@@ -429,6 +429,11 @@ break_loop:
 
     avio_seek(pb, data_ofs, SEEK_SET);
 
+    if (data_size > (INT64_MAX>>3)) {
+        av_log(s, AV_LOG_WARNING, "Data size %"PRId64" is too large\n", data_size);
+        data_size = 0;
+    }
+
     if (   data_size > 0 && sample_count && st->codec->channels
         && (data_size << 3) / sample_count / st->codec->channels > st->codec->bits_per_coded_sample) {
         av_log(s, AV_LOG_WARNING, "ignoring wrong sample_count %"PRId64"\n", sample_count);