mirror of
https://github.com/Dasharo/systemd.git
synced 2026-03-06 15:02:31 -08:00
vmm: Modernize get_smbios_table()
This commit is contained in:
@@ -261,22 +261,18 @@ static const SmbiosHeader *get_smbios_table(uint8_t type, uint64_t *ret_size_lef
|
||||
|
||||
/* Skip over string table. */
|
||||
for (;;) {
|
||||
while (size > 0 && *p != '\0') {
|
||||
const uint8_t *e = memchr(p, 0, size);
|
||||
if (!e)
|
||||
return NULL;
|
||||
|
||||
if (e == p) {/* Double NUL byte means we've reached the end of the string table. */
|
||||
p++;
|
||||
size--;
|
||||
}
|
||||
if (size == 0)
|
||||
return NULL;
|
||||
p++;
|
||||
size--;
|
||||
|
||||
/* Double NUL terminates string table. */
|
||||
if (*p == '\0') {
|
||||
if (size == 0)
|
||||
return NULL;
|
||||
p++;
|
||||
break;
|
||||
}
|
||||
|
||||
size -= e + 1 - p;
|
||||
p = e + 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user