]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/smacker.c
avformat/smacker: fix integer overflow with pts_inc
[ffmpeg] / libavformat / smacker.c
index 5dcf4adafe8b8a7ba6f0d3b4c6a2e26963a07416..de8bbdb07a582cfb4eeef8c5b88d379cc77698ca 100644 (file)
@@ -120,6 +120,11 @@ static int smacker_read_header(AVFormatContext *s)
     smk->height = avio_rl32(pb);
     smk->frames = avio_rl32(pb);
     smk->pts_inc = (int32_t)avio_rl32(pb);
+    if (smk->pts_inc > INT_MAX / 100) {
+        av_log(s, AV_LOG_ERROR, "pts_inc %d is too large\n", smk->pts_inc);
+        return AVERROR_INVALIDDATA;
+    }
+
     smk->flags = avio_rl32(pb);
     if(smk->flags & SMACKER_FLAG_RING_FRAME)
         smk->frames++;