From 60ea0a5236ceac03b8d3ab3b73bda04d04c17273 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 23 Oct 2013 01:40:57 +0200 Subject: avcodec/sgi: Fix dereferencing uninitialized pointer This also fixes the code so it decodes raw images correctly again No release is affected by this Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer --- libavcodec/sgidec.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'libavcodec/sgidec.c') diff --git a/libavcodec/sgidec.c b/libavcodec/sgidec.c index df41e89853..e373825ba8 100644 --- a/libavcodec/sgidec.c +++ b/libavcodec/sgidec.c @@ -138,10 +138,9 @@ static int read_uncompressed_sgi(unsigned char* out_buf, SgiState *s) for (y = s->height - 1; y >= 0; y--) { out_end = out_buf + (y * s->linesize); if (s->bytes_per_channel == 1) { - for (x = s->width; x > 0; x--) { - bytestream2_get_bufferu(&gp[z], out_end, s->depth); - out_end += s->depth; - } + for (x = s->width; x > 0; x--) + for (z = 0; z < s->depth; z++) + *out_end++ = bytestream2_get_byteu(&gp[z]); } else { uint16_t *out16 = (uint16_t *)out_end; for (x = s->width; x > 0; x--) -- cgit v1.2.3