[FFmpeg-devel] [PATCH 1/3] avcodec/iff: Fix invalid pointer intermediates in decode_deep_rle32()

Michael Niedermayer michael at niedermayer.cc
Tue Apr 21 01:03:39 EEST 2020


Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
 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) {
-- 
2.17.1



More information about the ffmpeg-devel mailing list