diff --git a/src/shared/smbios11.c b/src/shared/smbios11.c index 28cc29ee46..528644afbc 100644 --- a/src/shared/smbios11.c +++ b/src/shared/smbios11.c @@ -39,8 +39,7 @@ int read_smbios11_field(unsigned i, size_t max_size, char **ret_data, size_t *re r = read_full_file_full( AT_FDCWD, p, /* offset = */ UINT64_MAX, - max_size >= SIZE_MAX - offsetof(struct dmi_field_header, contents) ? SIZE_MAX : - sizeof(struct dmi_field_header) + max_size, + size_add(offsetof(struct dmi_field_header, contents), max_size), /* flags = */ 0, /* bind_name = */ NULL, (char**) &data, &size);