avcodec/targa_y216dec: Fix width type
authorMichael Niedermayer <michael@niedermayer.cc>
Sun, 7 May 2017 01:49:06 +0000 (03:49 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Sun, 7 May 2017 02:11:21 +0000 (04:11 +0200)
Fixes out of array access
Fixes: 1376/clusterfuzz-testcase-minimized-6361794975105024

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/targa_y216dec.c

index 21b3d35..443d48a 100644 (file)
@@ -35,7 +35,8 @@ static int y216_decode_frame(AVCodecContext *avctx, void *data,
 {
     AVFrame *pic = data;
     const uint16_t *src = (uint16_t *)avpkt->data;
-    uint16_t *y, *u, *v, aligned_width = FFALIGN(avctx->width, 4);
+    uint16_t *y, *u, *v;
+    int aligned_width = FFALIGN(avctx->width, 4);
     int i, j, ret;
 
     if (avpkt->size < 4 * avctx->height * aligned_width) {