From 34df97b0886c728e1ae430a7de8b3dfd2f1a5744 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 20 Sep 2020 21:29:15 +0200 Subject: [PATCH] avcodec/photocd: Use ff_set_dimensions() Fixes: out of memory Fixes: 25588/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PHOTOCD_fuzzer-6612945080156160 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- libavcodec/photocd.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/photocd.c b/libavcodec/photocd.c index 8fd4536a65..aa1b1059e9 100644 --- a/libavcodec/photocd.c +++ b/libavcodec/photocd.c @@ -323,8 +323,9 @@ static int photocd_decode_frame(AVCodecContext *avctx, void *data, else s->resolution = av_clip(4 - s->lowres, 0, 4); - avctx->width = img_info[s->resolution].width; - avctx->height = img_info[s->resolution].height; + ret = ff_set_dimensions(avctx, img_info[s->resolution].width, img_info[s->resolution].height); + if (ret < 0) + return ret; if ((ret = ff_thread_get_buffer(avctx, &frame, 0)) < 0) return ret;