From 7d313a14a1a7c1f977a970414806c141e609f967 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 3 Sep 2021 16:51:07 +0200 Subject: [PATCH] avcodec/utils: ARGO writes 4x4 blocks without regard to the image dimensions Fixes: out of array access Fixes: 37197/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ARGO_fuzzer-5877046382297088 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer (cherry picked from commit 018b611b4ba74a5cecfb8a75a637b49840e7c320) Signed-off-by: Michael Niedermayer --- libavcodec/utils.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 434004cccf..08c37a1d93 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -296,6 +296,12 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, h_align = 4; } break; + case AV_PIX_FMT_BGR0: + if (s->codec_id == AV_CODEC_ID_ARGO) { + w_align = 4; + h_align = 4; + } + break; default: break; }