[FFmpeg-cvslog] avcodec/iff: Fix invalid pointer intermediates in decode_deep_rle32()

Michael Niedermayer git at videolan.org
Thu Apr 23 01:07:43 EEST 2020


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Tue Apr 21 00:03:39 2020 +0200| [bc41a29a5aa3c3dedba0a85b4aeb79a07eeeb1b4] | committer: Michael Niedermayer

avcodec/iff: Fix invalid pointer intermediates in decode_deep_rle32()

Reviewed-by: Peter Ross <pross at xvid.org>
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

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

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

diff --git a/libavcodec/iff.c b/libavcodec/iff.c
index acd6519b06..2e65e266d0 100644
--- a/libavcodec/iff.c
+++ b/libavcodec/iff.c
@@ -715,7 +715,7 @@ static void decode_deep_rle32(uint8_t *dst, const uint8_t *src, int src_size, in
 {
     const uint8_t *src_end = src + src_size;
     int x = 0, y = 0, i;
-    while (src + 5 <= src_end) {
+    while (src_end - src >= 5) {
         int opcode;
         opcode = *(int8_t *)src++;
         if (opcode >= 0) {



More information about the ffmpeg-cvslog mailing list