]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/pnm_parser: Check image size addition for overflow
authorMichael Niedermayer <michael@niedermayer.cc>
Tue, 30 Mar 2021 11:22:14 +0000 (13:22 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Thu, 1 Apr 2021 08:10:21 +0000 (10:10 +0200)
Fixes: assertion failure
Fixes: out of array access
Fixes: 32664/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PGMYUV_fuzzer-6533642202513408.fuzz
Fixes: 32669/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PGMYUV_fuzzer-6001928875147264
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/pnm_parser.c

index f3be6d640cd5b1f9186895f3d955421793d47b9a..a822c17a2e932e107e8487cc2083e6df782c0fb2 100644 (file)
@@ -111,7 +111,7 @@ retry:
     } else {
         int ret = av_image_get_buffer_size(avctx->pix_fmt, avctx->width, avctx->height, 1);
         next = pnmctx.bytestream - pnmctx.bytestream_start + skip;
-        if (ret >= 0)
+        if (ret >= 0 && next + (uint64_t)ret <= INT_MAX)
             next += ret;
     }
     if (next != END_NOT_FOUND && pnmctx.bytestream_start != buf + skip)