Преглед изворни кода

[efi] Fix uninitialised data in HII IFR structures

The HII IFR structures are allocated via realloc() rather than
zalloc(), and so are not automatically zeroed.  This results in the
presence of uninitialised and invalid data, causing crashes elsewhere
in the UEFI firmware.

Fix by explicitly zeroing the newly allocated portion of any IFR
structure in efi_ifr_op().

Debugged-by: Laszlo Ersek <lersek@redhat.com>
Debugged-by: Gary Lin <glin@suse.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown пре 8 година
родитељ
комит
c9f6a86059
1 измењених фајлова са 1 додато и 0 уклоњено
  1. 1
    0
      src/interface/efi/efi_hii.c

+ 1
- 0
src/interface/efi/efi_hii.c Прегледај датотеку

@@ -117,6 +117,7 @@ static void * efi_ifr_op ( struct efi_ifr_builder *ifr, unsigned int opcode,
117 117
 	ifr->ops_len = new_ops_len;
118 118
 
119 119
 	/* Fill in opcode header */
120
+	memset ( op, 0, len );
120 121
 	op->OpCode = opcode;
121 122
 	op->Length = len;
122 123
 

Loading…
Откажи
Сачувај