aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlec Brown <alec.r.brown@oracle.com>2022-03-21 02:29:01 -0400
committerDaniel Kiper <daniel.kiper@oracle.com>2022-04-04 20:28:55 +0200
commita97d1ebb8eda29f5676d6b347b3698598e8519eb (patch)
tree08537d28b9fb50352fb7449130856e5eb31e11f3
parent4fa5dd08f56dcadb87f6e456727b92fa5cdbf067 (diff)
downloadgrub-a97d1ebb8eda29f5676d6b347b3698598e8519eb.tar.gz
loader/i386/xnu: Fix uninitialized scalar variable
In the function grub_xnu_boot(), struct grub_relocator32_state state is called but isn't being initialized. This results in the members grub_uint32_t ebx, grub_uint32_t ecx, grub_uint32_t edx, grub_uint32_t edi, and grub_uint32_t esi being filled with junk data from the stack since none of them are being set to any values. We can prevent this by setting state to {0}. Fixes: CID 375035 Signed-off-by: Alec Brown <alec.r.brown@oracle.com> Reviewed-by: Darren Kenny <darren.kenny@oracle.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
-rw-r--r--grub-core/loader/i386/xnu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/grub-core/loader/i386/xnu.c b/grub-core/loader/i386/xnu.c
index da962175f..4c88ce5e0 100644
--- a/grub-core/loader/i386/xnu.c
+++ b/grub-core/loader/i386/xnu.c
@@ -960,7 +960,7 @@ grub_xnu_boot (void)
grub_addr_t devtree_target;
grub_size_t devtreelen;
int i;
- struct grub_relocator32_state state;
+ struct grub_relocator32_state state = {0};
grub_uint64_t fsbfreq = 100000000;
int v2 = (grub_xnu_darwin_version >= 11);
grub_uint32_t efi_system_table = 0;