[FFmpeg-cvslog] avcodec/mpegvideo_enc: Dont copy beyond the image

Michael Niedermayer git at videolan.org
Sat Dec 30 23:34:02 EET 2023


ffmpeg | branch: release/6.1 | Michael Niedermayer <michael at niedermayer.cc> | Sat Dec 30 03:06:39 2023 +0100| [e1c2fa6b9addeacfa8b9e24acf9d4699ecdaa764] | committer: Michael Niedermayer

avcodec/mpegvideo_enc: Dont copy beyond the image

Fixes: out of array access
Fixes: tickets/10754/poc17ffmpeg

Discovered by Zeng Yunxiang.

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
(cherry picked from commit a066b8a809fa6d8b31398d41787822803f8762f2)
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

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

 libavcodec/mpegvideo_enc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index 6d2d417454..e460ca407c 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -1213,7 +1213,7 @@ static int load_input_picture(MpegEncContext *s, const AVFrame *pic_arg)
                     dst += INPLACE_OFFSET;
 
                 if (src_stride == dst_stride)
-                    memcpy(dst, src, src_stride * h);
+                    memcpy(dst, src, src_stride * h - src_stride + w);
                 else {
                     int h2 = h;
                     uint8_t *dst2 = dst;



More information about the ffmpeg-cvslog mailing list