[FFmpeg-cvslog] avcodec/photocd: Use ff_set_dimensions()

Michael Niedermayer git at videolan.org
Sun Oct 18 22:42:36 EEST 2020


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Sun Sep 20 21:29:15 2020 +0200| [34df97b0886c728e1ae430a7de8b3dfd2f1a5744] | committer: Michael Niedermayer

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 <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=34df97b0886c728e1ae430a7de8b3dfd2f1a5744
---

 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;



More information about the ffmpeg-cvslog mailing list