projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5e529d7
)
mesa: Fix out of bounds writes when uncompressing non-block-aligned ETC1.
author
Eric Anholt
<eric@anholt.net>
Fri, 11 Jan 2013 01:48:16 +0000
(17:48 -0800)
committer
Eric Anholt
<eric@anholt.net>
Fri, 18 Jan 2013 20:48:27 +0000
(12:48 -0800)
Fixes a crash in GLB2.1 offscreen on the glthread branch.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/main/texcompress_etc_tmp.h
patch
|
blob
|
history
diff --git
a/src/mesa/main/texcompress_etc_tmp.h
b/src/mesa/main/texcompress_etc_tmp.h
index 8bbb2cde83e7a80a52849678c0c77f4131b22e03..5497566324f86debf80c9e0c2dfa44c7fb9480e4 100644
(file)
--- 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;