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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user