]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/oggparsespeex.c
imdct15: rename to mdct15 and add a forward transform
[ffmpeg] / libavformat / oggparsespeex.c
index 2b4915087821d33794d5bc59a079620bd4f76d98..27fc99247de3be20eb4d4a9b429446a1349d4d6d 100644 (file)
@@ -82,6 +82,13 @@ static int speex_header(AVFormatContext *s, int idx) {
 
         spxp->packet_size  = AV_RL32(p + 56);
         frames_per_packet  = AV_RL32(p + 64);
+        if (spxp->packet_size < 0 ||
+            frames_per_packet < 0 ||
+            spxp->packet_size * (int64_t)frames_per_packet > INT32_MAX / 256) {
+            av_log(s, AV_LOG_ERROR, "invalid packet_size, frames_per_packet %d %d\n", spxp->packet_size, frames_per_packet);
+            spxp->packet_size = 0;
+            return AVERROR_INVALIDDATA;
+        }
         if (frames_per_packet)
             spxp->packet_size *= frames_per_packet;