efi/libstub: smbios: Use length member instead of record struct size
[ Upstream commit 34343eb06afc04af9178a9883d9354dc12beede0 ]
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:
parent
e041bef1ad
commit
58c11bc7ad
1 changed files with 1 additions and 1 deletions
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue