msrle: Use FFABS to determine the frame size in msrle_decode_pal4
authorLuca Barbato <lu_zero@gentoo.org>
Mon, 25 May 2015 19:53:26 +0000 (21:53 +0200)
committerLuca Barbato <lu_zero@gentoo.org>
Sat, 30 May 2015 14:30:22 +0000 (16:30 +0200)
As done in msrle_decode_8_16_24_32.

Bug-Id: CVE-2015-3395
CC: libav-stable@libav.org
libavcodec/msrledec.c

index af2a247..370d9bd 100644 (file)
@@ -39,7 +39,7 @@ static int msrle_decode_pal4(AVCodecContext *avctx, AVPicture *pic,
     unsigned int pixel_ptr = 0;
     int row_dec = pic->linesize[0];
     int row_ptr = (avctx->height - 1) * row_dec;
-    int frame_size = row_dec * avctx->height;
+    int frame_size = FFABS(row_dec) * avctx->height;
     int i;
 
     while (row_ptr >= 0) {