]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/rsd.c
Merge commit 'c3f113d58488df7594a489bdbb993a69ad47063c'
[ffmpeg] / libavformat / rsd.c
index ee6fdfbeb142a5908685ec6af9e9efc675bd9e17..5a56e72bb3c7a41f78dd04398fdbce9f0856538e 100644 (file)
@@ -84,8 +84,10 @@ static int rsd_read_header(AVFormatContext *s)
     }
 
     par->channels = avio_rl32(pb);
-    if (!par->channels)
+    if (par->channels <= 0 || par->channels > INT_MAX / 36) {
+        av_log(s, AV_LOG_ERROR, "Invalid number of channels: %d\n", par->channels);
         return AVERROR_INVALIDDATA;
+    }
 
     avio_skip(pb, 4); // Bit depth
     par->sample_rate = avio_rl32(pb);