[FFmpeg-cvslog] avcodec/utils: apply the same alignment to YUV410 as we do to YUV420 for snow
Michael Niedermayer
git at videolan.org
Fri Aug 2 02:10:24 EEST 2024
ffmpeg | branch: release/6.1 | Michael Niedermayer <michael at niedermayer.cc> | Mon Jun 17 13:31:02 2024 +0200| [b169821e8f68e685a0164ff2146c1a0c7f93d1a7] | committer: Michael Niedermayer
avcodec/utils: apply the same alignment to YUV410 as we do to YUV420 for snow
The snow encoder uses block based motion estimation which can read out of array if
insufficient alignment is used
It may be better to only apply this for the encoder, as it would safe a few bytes of memory
for the decoder. Until then, this fixes the issue in a simple way.
Fixes: out of array access
Fixes: 68963/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SNOW_fuzzer-4979988435632128
Fixes: 68969/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SNOW_fuzzer-6239933667803136.fuzz
Fixed: 70497/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SNOW_fuzzer-5751882631413760
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
(cherry picked from commit 58fbeb59e74ac9a4ca81e9bc44141abcbff8ab6d)
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b169821e8f68e685a0164ff2146c1a0c7f93d1a7
---
libavcodec/utils.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 39b83c7791..f96504fa44 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -259,6 +259,9 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height,
if (s->codec_id == AV_CODEC_ID_SVQ1) {
w_align = 64;
h_align = 64;
+ } else if (s->codec_id == AV_CODEC_ID_SNOW) {
+ w_align = 16;
+ h_align = 16;
}
break;
case AV_PIX_FMT_RGB555:
More information about the ffmpeg-cvslog
mailing list