Mesa (master): llvmpipe: Fix buffer overflow unswizzling several formats.
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Sun Apr 25 14:59:14 UTC 2010
Module: Mesa
Branch: master
Commit: 5745bcb2dbfcaab53df89125d08689b51b9126ea
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5745bcb2dbfcaab53df89125d08689b51b9126ea
Author: José Fonseca <jfonseca at vmware.com>
Date: Sun Apr 25 15:40:06 2010 +0100
llvmpipe: Fix buffer overflow unswizzling several formats.
Array formats without for channels were being advanced as four channels,
causing buffer overflows.
---
src/gallium/drivers/llvmpipe/lp_tile_soa.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/gallium/drivers/llvmpipe/lp_tile_soa.py b/src/gallium/drivers/llvmpipe/lp_tile_soa.py
index b2f800a..5ab63cb 100644
--- a/src/gallium/drivers/llvmpipe/lp_tile_soa.py
+++ b/src/gallium/drivers/llvmpipe/lp_tile_soa.py
@@ -257,7 +257,7 @@ def emit_tile_pixel_unswizzle_code(format, src_channel):
value = 'TILE_PIXEL(src, x, y, %u)' % inv_swizzle[i]
value = conversion_expr(src_channel, dst_channel, dst_native_type, value, clamp=False)
print ' *dst_pixel++ = %s;' % value
- else:
+ elif dst_channel.size:
print ' ++dst_pixel;'
else:
assert False
More information about the mesa-commit
mailing list