mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d-shader: Avoid passing NULL to memcpy(). (ubsan)
Otherwise when passing "-fsanitize=undefined" to the compiler, ubsan reports such as: libs/vkd3d-shader/ir.c:3794:5: runtime error: null pointer passed as argument 1, which is declared to never be null
This commit is contained in:
parent
29bac62ba2
commit
eaf4d0bfbf
Notes:
Henri Verbeet
2025-01-10 20:15:12 +01:00
Approved-by: Elizabeth Figura (@zfigura) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1327
@ -2031,7 +2031,8 @@ static bool shader_signature_merge(struct shader_signature *s, uint8_t range_map
|
||||
element_count = s->element_count;
|
||||
if (!(elements = vkd3d_malloc(element_count * sizeof(*elements))))
|
||||
return false;
|
||||
memcpy(elements, s->elements, element_count * sizeof(*elements));
|
||||
if (element_count)
|
||||
memcpy(elements, s->elements, element_count * sizeof(*elements));
|
||||
|
||||
for (i = 0; i < element_count; ++i)
|
||||
elements[i].sort_index = i;
|
||||
@ -3836,7 +3837,8 @@ static enum vkd3d_result vsir_cfg_structure_list_append_from_region(struct vsir_
|
||||
sizeof(*list->structures)))
|
||||
return VKD3D_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
memcpy(&list->structures[list->count], begin, size * sizeof(*begin));
|
||||
if (size)
|
||||
memcpy(&list->structures[list->count], begin, size * sizeof(*begin));
|
||||
|
||||
list->count += size;
|
||||
|
||||
|
@ -396,7 +396,8 @@ size_t bytecode_put_bytes_unaligned(struct vkd3d_bytecode_buffer *buffer, const
|
||||
buffer->status = VKD3D_ERROR_OUT_OF_MEMORY;
|
||||
return offset;
|
||||
}
|
||||
memcpy(buffer->data + offset, bytes, size);
|
||||
if (size)
|
||||
memcpy(&buffer->data[offset], bytes, size);
|
||||
buffer->size = offset + size;
|
||||
return offset;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user