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 <michael@niedermayer.cc>
(cherry picked from commit 018b611b4ba74a5cecfb8a75a637b49840e7c320)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2021-09-03 16:51:07 +02:00
parent b90ce02f81
commit 7d313a14a1

View File

@ -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;
}