intel: Avoid unaligned pointer access

Avoids the sanitizer error:

```
../src/intel/common/intel_debug_identifier.c:122:15: runtime error: member access within misaligned address 0x7f5ca8b32051 for type 'struct intel_debug_block_base', which requires 4 byte alignment
0x7f5ca8b32051: note: pointer points here
 66 30 29  00 03 00 00 00 10 00 00  00 00 00 00 00 00 00 00  00 01 00 00 00 08 00 00  00 00 00 00 00
              ^
```

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32098>
This commit is contained in:
Matt Turner 2024-11-10 19:38:22 -05:00 committed by Marge Bot
parent 1f3e24f4f3
commit b3a14d7b91

View file

@ -117,14 +117,15 @@ intel_debug_get_identifier_block(void *_buffer,
*end_buffer = _buffer + buffer_size;
while (buffer < end_buffer) {
struct intel_debug_block_base *item = buffer;
struct intel_debug_block_base item;
memcpy(&item, buffer, sizeof(item));
if (item->type == type)
return item;
if (item->type == INTEL_DEBUG_BLOCK_TYPE_END)
if (item.type == type)
return buffer;
if (item.type == INTEL_DEBUG_BLOCK_TYPE_END)
return NULL;
buffer += item->length;
buffer += item.length;
}
return NULL;