Commit 34343eb0 authored by Ard Biesheuvel's avatar Ard Biesheuvel
Browse files

efi/libstub: smbios: Use length member instead of record struct size



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: 550b33cf ("arm64: efi: Force the use of ...")
Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
parent 8b3a149d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);