From f04424a15d9c0f461f9c2f385696716d830b07f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Mon, 8 Jul 2019 23:24:15 +0200 Subject: Fix T66573 Heap Corruption when baking to irradiance volume probe This is an AMD Proprietary driver bug. Will be reported upstream. --- source/blender/gpu/intern/gpu_texture.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'source/blender/gpu/intern/gpu_texture.c') diff --git a/source/blender/gpu/intern/gpu_texture.c b/source/blender/gpu/intern/gpu_texture.c index 6a92832d1e5..cd98da69469 100644 --- a/source/blender/gpu/intern/gpu_texture.c +++ b/source/blender/gpu/intern/gpu_texture.c @@ -1459,7 +1459,9 @@ void *GPU_texture_read(GPUTexture *tex, eGPUDataFormat gpu_data_format, int mipl break; } - void *buf = MEM_mallocN(buf_size, "GPU_texture_read"); + /* AMD Pro driver have a bug that write 2 bytes past buffer size + * if the texture is big. (see T66573) */ + void *buf = MEM_mallocN(buf_size + 8, "GPU_texture_read"); GLenum data_format = gpu_get_gl_dataformat(tex->format, &tex->format_flag); GLenum data_type = gpu_get_gl_datatype(gpu_data_format); -- cgit v1.2.3