efi/libstub: smbios: Use length member instead of record struct size
[ Upstream commit34343eb06a
] The type 1 SMBIOS record happens to always be the same size, but there are other record types which have been augmented over time, and so we should really use the length field in the header to decide where the string table starts. Fixes:550b33cfd4
("arm64: efi: Force the use of ...") Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e041bef1ad
commit
58c11bc7ad
@ -36,7 +36,7 @@ const u8 *__efi_get_smbios_string(u8 type, int offset, int recsize)
|
||||
if (status != EFI_SUCCESS)
|
||||
return NULL;
|
||||
|
||||
strtable = (u8 *)record + recsize;
|
||||
strtable = (u8 *)record + record->length;
|
||||
for (int i = 1; i < ((u8 *)record)[offset]; i++) {
|
||||
int len = strlen(strtable);
|
||||
|
||||
|
Reference in New Issue
Block a user