Fixes UBSan:
src/amd/vulkan/radv_pipeline.c:1181:4: runtime error: null pointer passed as argument 2, which is declared to never be null
src/amd/vulkan/radv_shader.c:2243:4: runtime error: null pointer passed as argument 2, which is declared to never be null
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25432>
if (!new_stages)
return NULL;
- memcpy(new_stages, pStages, size);
+ if (size)
+ memcpy(new_stages, pStages, size);
for (uint32_t i = 0; i < stageCount; i++) {
RADV_FROM_HANDLE(vk_shader_module, module, new_stages[i].module);
legacy_binary->disasm_size = 0;
legacy_binary->ir_size = llvm_ir_size;
- memcpy((char *)legacy_binary->data + legacy_binary->stats_size + legacy_binary->code_size, llvm_ir_str,
- llvm_ir_size);
+ if (llvm_ir_size) {
+ memcpy((char *)legacy_binary->data + legacy_binary->stats_size + legacy_binary->code_size, llvm_ir_str,
+ llvm_ir_size);
+ }
legacy_binary->disasm_size = disasm_size;
if (disasm_size) {