[FFmpeg-cvslog] avcodec/utils: ARGO writes 4x4 blocks without regard to the image dimensions

Michael Niedermayer git at videolan.org
Wed Oct 6 19:07:52 EEST 2021


ffmpeg | branch: release/4.4 | Michael Niedermayer <michael at niedermayer.cc> | Fri Sep  3 16:51:07 2021 +0200| [7d313a14a1a7c1f977a970414806c141e609f967] | committer: Michael Niedermayer

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 at niedermayer.cc>
(cherry picked from commit 018b611b4ba74a5cecfb8a75a637b49840e7c320)
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

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

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



More information about the ffmpeg-cvslog mailing list