[Mesa-dev] [PATCH] mesa: Fix out of bounds writes when uncompressing non-block-aligned ETC1.
Kenneth Graunke
kenneth at whitecape.org
Thu Jan 10 21:06:06 PST 2013
On 01/10/2013 06:06 PM, Eric Anholt wrote:
> Fixes a crash in GLB2.1 offscreen on the glthread branch.
> ---
> src/mesa/main/texcompress_etc_tmp.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/main/texcompress_etc_tmp.h b/src/mesa/main/texcompress_etc_tmp.h
> index 8bbb2cd..5497566 100644
> --- a/src/mesa/main/texcompress_etc_tmp.h
> +++ b/src/mesa/main/texcompress_etc_tmp.h
> @@ -153,9 +153,9 @@ etc1_unpack_rgba8888(uint8_t *dst_row,
> for (x = 0; x < width; x+= bw) {
> etc1_parse_block(&block, src);
>
> - for (j = 0; j < bh; j++) {
> + for (j = 0; j < MIN2(bh, height - y); j++) {
> uint8_t *dst = dst_row + (y + j) * dst_stride + x * comps;
> - for (i = 0; i < bw; i++) {
> + for (i = 0; i < MIN2(bw, width - x); i++) {
> etc1_fetch_texel(&block, i, j, dst);
> dst[3] = 255;
> dst += comps;
Nice find.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
More information about the mesa-dev
mailing list