[FFmpeg-devel] [PATCH] msrledec: use signed pixel_ptr in msrle_decode_pal4

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Thu Apr 16 14:49:08 CEST 2015


This fixes segmentation faults, when pic->linesize[0] is negative.
In that case 'line * pic->linesize[0] + pixel_ptr' is treated as
unsigned and wraps around.

This reverts commit 7d78a964.
The problem was introduced in commit f7e1367f, which should obsolete
that commit.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
---
 libavcodec/msrledec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/msrledec.c b/libavcodec/msrledec.c
index c738198..9d05bc8 100644
--- a/libavcodec/msrledec.c
+++ b/libavcodec/msrledec.c
@@ -36,7 +36,7 @@ static int msrle_decode_pal4(AVCodecContext *avctx, AVPicture *pic,
     unsigned char rle_code;
     unsigned char extra_byte, odd_pixel;
     unsigned char stream_byte;
-    unsigned int pixel_ptr = 0;
+    int pixel_ptr = 0;
     int line = avctx->height - 1;
     int i;
 
-- 
2.1.4


More information about the ffmpeg-devel mailing list