From 2203376865ba2298b515265a834ecbda6713932e Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Tue, 1 Oct 2024 16:36:10 +0200 Subject: [PATCH] panvk: Fix bounds checking in upload_shader_desc_info() Replace the less-than test by a less-or-equal when checking the dynamic buffer count. Signed-off-by: Boris Brezillon Reviewed-by: Mary Guillemard Part-of: --- src/panfrost/vulkan/panvk_vX_nir_lower_descriptors.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/panfrost/vulkan/panvk_vX_nir_lower_descriptors.c b/src/panfrost/vulkan/panvk_vX_nir_lower_descriptors.c index f2be7159806..91373701918 100644 --- a/src/panfrost/vulkan/panvk_vX_nir_lower_descriptors.c +++ b/src/panfrost/vulkan/panvk_vX_nir_lower_descriptors.c @@ -1150,19 +1150,19 @@ upload_shader_desc_info(struct panvk_device *dev, struct panvk_shader *shader, copy_count * sizeof(uint32_t), sizeof(uint32_t)); } - assert(desc_info->dyn_ubos.count < + assert(desc_info->dyn_ubos.count <= ARRAY_SIZE(shader->desc_info.dyn_ubos.map)); shader->desc_info.dyn_ubos.count = desc_info->dyn_ubos.count; memcpy(shader->desc_info.dyn_ubos.map, desc_info->dyn_ubos.map, desc_info->dyn_ubos.count * sizeof(*shader->desc_info.dyn_ubos.map)); - assert(desc_info->dyn_ssbos.count < + assert(desc_info->dyn_ssbos.count <= ARRAY_SIZE(shader->desc_info.dyn_ssbos.map)); shader->desc_info.dyn_ssbos.count = desc_info->dyn_ssbos.count; memcpy( shader->desc_info.dyn_ssbos.map, desc_info->dyn_ssbos.map, desc_info->dyn_ssbos.count * sizeof(*shader->desc_info.dyn_ssbos.map)); #else - assert(desc_info->dyn_bufs.count < + assert(desc_info->dyn_bufs.count <= ARRAY_SIZE(shader->desc_info.dyn_bufs.map)); shader->desc_info.dyn_bufs.count = desc_info->dyn_bufs.count; memcpy(shader->desc_info.dyn_bufs.map, desc_info->dyn_bufs.map,