From: Anton Khirnov Date: Sat, 29 Sep 2012 08:39:49 +0000 (+0200) Subject: indeo3: fix out of cell write. X-Git-Tag: v9_beta1~217 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e4d4044339b9c3b0f45f7203cd026eda3c0414c0;p=platform%2Fupstream%2Flibav.git indeo3: fix out of cell write. Fixes CVE-2012-2776. CC:libav-stable@libav.org Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind --- diff --git a/libavcodec/indeo3.c b/libavcodec/indeo3.c index 0f4adc4..18d9e10 100644 --- a/libavcodec/indeo3.c +++ b/libavcodec/indeo3.c @@ -421,6 +421,9 @@ static int decode_cell_data(Cell *cell, uint8_t *block, uint8_t *ref_block, blk_row_offset = (row_offset << (2 + v_zoom)) - (cell->width << 2); line_offset = v_zoom ? row_offset : 0; + if (cell->height & v_zoom || cell->width & h_zoom) + return IV3_BAD_DATA; + for (y = 0; y < cell->height; is_first_row = 0, y += 1 + v_zoom) { for (x = 0; x < cell->width; x += 1 + h_zoom) { ref = ref_block;