grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] ofnet: Initialize structs in bootpath parser


From: Julian Andres Klode
Subject: [PATCH] ofnet: Initialize structs in bootpath parser
Date: Thu, 23 Aug 2018 13:46:17 +0200
User-agent: NeoMutt/20180716

Code later on checks if variables inside the struct are
0 to see if they have been set, like if there were addresses
in the bootpath.

The variables were not initialized however, so the check
might suceed with uninitialized data, and a new interface
with random addresses has been added. This caused a weird
bug in Ubuntu, because when booting from network, we now
had two interfaces with the same name, and net_default_mac
pointed to the random one.

Bug-Ubuntu: https://bugs.launchpad.net/bugs/1785859
---
 grub-core/net/drivers/ieee1275/ofnet.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/grub-core/net/drivers/ieee1275/ofnet.c 
b/grub-core/net/drivers/ieee1275/ofnet.c
index 002446be1..00abc64bb 100644
--- a/grub-core/net/drivers/ieee1275/ofnet.c
+++ b/grub-core/net/drivers/ieee1275/ofnet.c
@@ -153,8 +153,8 @@ grub_ieee1275_parse_bootpath (const char *devpath, char 
*bootpath,
   char *comma_char = 0;
   char *equal_char = 0;
   grub_size_t field_counter = 0;
-  grub_net_network_level_address_t client_addr, gateway_addr, subnet_mask;
-  grub_net_link_level_address_t hw_addr;
+  grub_net_network_level_address_t client_addr = {}, gateway_addr = {}, 
subnet_mask = {};
+  grub_net_link_level_address_t hw_addr = {};
   grub_net_interface_flags_t flags = 0;
   struct grub_net_network_level_interface *inter = NULL;
   grub_uint16_t vlantag = 0;
-- 
2.17.1


-- 
debian developer - deb.li/jak | jak-linux.org - free software dev
ubuntu core developer                              i speak de, en



reply via email to

[Prev in Thread] Current Thread [Next in Thread]