On Sat, Sep 29, 2012 at 02:04:50PM +0200, Anton Khirnov wrote:
> Fixes CVE-2012-2776.
> 
> CC:[email protected]
> 
> Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
> Signed-off-by: Anton Khirnov <[email protected]>
> ---
>  libavcodec/indeo3.c |    3 +++
>  1 file changed, 3 insertions(+)
> 
> 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;
> -- 

I'd call it "fix out of cell write" but in general LGTM
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to