]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/swfenc.c
Merge commit 'f0b769c16daafa64720dcba7fa81a9f5255e1d29'
[ffmpeg] / libavformat / swfenc.c
index 56d9879017717be2b06efcb595fd2dfcf9f76647..8d5933e9bf05ef0aa1f8c09bd1d196f31258ec14 100644 (file)
@@ -256,6 +256,10 @@ static int swf_write_header(AVFormatContext *s)
                                       (will be patched if not streamed) */
 
     put_swf_rect(pb, 0, width * 20, 0, height * 20);
+    if ((rate * 256LL) / rate_base >= (1<<16)) {
+        av_log(s, AV_LOG_ERROR, "Invalid (too large) frame rate %d/%d\n", rate, rate_base);
+        return AVERROR(EINVAL);
+    }
     avio_wl16(pb, (rate * 256) / rate_base); /* frame rate */
     swf->duration_pos = avio_tell(pb);
     avio_wl16(pb, (uint16_t)(DUMMY_DURATION * (int64_t)rate / rate_base)); /* frame count */