From 06042a23b676c36f0afc1f3696d52cd60e79dc80 Mon Sep 17 00:00:00 2001 From: clayjohn Date: Mon, 6 Mar 2023 15:46:40 -0800 Subject: [PATCH] Avoid overflow when calculating ptr address for 3D textures in RenderingDevice texture update --- drivers/vulkan/rendering_device_vulkan.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/vulkan/rendering_device_vulkan.cpp b/drivers/vulkan/rendering_device_vulkan.cpp index 91a746636ae1..2166d12d31fd 100644 --- a/drivers/vulkan/rendering_device_vulkan.cpp +++ b/drivers/vulkan/rendering_device_vulkan.cpp @@ -2530,7 +2530,7 @@ Error RenderingDeviceVulkan::_texture_update(RID p_texture, uint32_t p_layer, co for (uint32_t z = 0; z < depth; z++) { // For 3D textures, depth may be > 0. - const uint8_t *read_ptr = read_ptr_mipmap + image_size * z / depth; + const uint8_t *read_ptr = read_ptr_mipmap + (image_size / depth) * z; for (uint32_t y = 0; y < height; y += region_size) { for (uint32_t x = 0; x < width; x += region_size) {