From d18720897fff4b02611a57213373217395c06ec0 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Thu, 25 Nov 2021 12:33:57 +0100 Subject: [PATCH] radv: fix OOB access for inline push constants detected by UBSAN src/amd/vulkan/radv_cmd_buffer.c:3232:75: runtime error: index 252 out of bounds for type 'uint8_t [128]' Signed-off-by: Samuel Pitoiset Reviewed-by: Rhys Perry Part-of: --- src/amd/vulkan/radv_cmd_buffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index d52c2d88494..3ba79bc3dab 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -3229,7 +3229,7 @@ radv_flush_constants(struct radv_cmd_buffer *cmd_buffer, VkShaderStageFlags stag uint8_t base = shader->info.min_push_constant_used / 4; radv_emit_inline_push_consts(cmd_buffer, pipeline, stage, AC_UD_INLINE_PUSH_CONSTANTS, - (uint32_t *)&cmd_buffer->push_constants[base * 4]); + (uint32_t *)cmd_buffer->push_constants + base); } if (need_push_constants) {