mirror of
https://github.com/aaru-dps/libaaruformat.git
synced 2025-12-16 19:24:40 +00:00
When setting dump hardware consider that strings are already NUL-terminated.
This commit is contained in:
@@ -626,9 +626,12 @@ AARU_EXPORT int32_t AARU_CALL aaruf_set_dumphw(void *context, uint8_t *data, siz
|
||||
if(field##_length > 0) \
|
||||
{ \
|
||||
if(field##_length > length - pos) goto invalid_data; \
|
||||
copy[e].field = (uint8_t *)calloc(1, field##_length + 1); \
|
||||
/* Allocate only field##_length bytes, since input is NUL-terminated */ \
|
||||
copy[e].field = (uint8_t *)calloc(1, field##_length); \
|
||||
if(copy[e].field == NULL) goto free_copy_and_error; \
|
||||
memcpy(copy[e].field, data + pos, field##_length); \
|
||||
/* Ensure NUL-termination in case input is malformed */ \
|
||||
copy[e].field[field##_length - 1] = '\0'; \
|
||||
pos += field##_length; \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
Reference in New Issue
Block a user