]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/ffmdec.c
Merge commit '46278ec90ac5ad1dab5e85991f176afe49003fee'
[ffmpeg] / libavformat / ffmdec.c
index 16ba8ecf58ee2fdb93db7c1074792cbfc2bca298..6b09be2456299c0d69f9cfb4736a5d85fc85eceb 100644 (file)
@@ -432,6 +432,11 @@ static int ffm2_read_header(AVFormatContext *s)
                 goto fail;
             }
             codec->sample_rate = avio_rb32(pb);
+            if (codec->sample_rate <= 0) {
+                av_log(s, AV_LOG_ERROR, "Invalid sample rate %d\n", codec->sample_rate);
+                ret = AVERROR_INVALIDDATA;
+                goto fail;
+            }
             codec->channels = avio_rl16(pb);
             codec->frame_size = avio_rl16(pb);
             break;
@@ -628,6 +633,10 @@ static int ffm_read_header(AVFormatContext *s)
             break;
         case AVMEDIA_TYPE_AUDIO:
             codec->sample_rate = avio_rb32(pb);
+            if (codec->sample_rate <= 0) {
+                av_log(s, AV_LOG_ERROR, "Invalid sample rate %d\n", codec->sample_rate);
+                goto fail;
+            }
             codec->channels = avio_rl16(pb);
             codec->frame_size = avio_rl16(pb);
             break;