Parcourir la source

[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 il y a 8 ans
Parent
révision
c9f6a86059
1 fichiers modifiés avec 1 ajouts et 0 suppressions
  1. 1
    0
      src/interface/efi/efi_hii.c

+ 1
- 0
src/interface/efi/efi_hii.c Voir le fichier

@@ -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
 

Chargement…
Annuler
Enregistrer