aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlec Brown <alec.r.brown@oracle.com>2022-03-21 02:29:00 -0400
committerDaniel Kiper <daniel.kiper@oracle.com>2022-04-04 20:28:54 +0200
commit8e9e0d4643020b340839b7f428f7b9ca6a2129d8 (patch)
treec97e56b07a04446a0b6d94f454cca0f7139ff0da
parent23c3cbe1dba4fd0c6dc8156bd628d3162e63408d (diff)
downloadgrub-8e9e0d4643020b340839b7f428f7b9ca6a2129d8.tar.gz
net/net: Fix uninitialized scalar variable
In the function grub_net_ipv6_get_link_local(), grub_net_network_level_address_t addr is called but isn't being initialized. This results in the member grub_dns_option_t option being filled with junk data from the stack. We can prevent this by setting the option member in addr to 0. Fixes: CID 375033 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/net/net.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/grub-core/net/net.c b/grub-core/net/net.c
index 11b39877b..681f91486 100644
--- a/grub-core/net/net.c
+++ b/grub-core/net/net.c
@@ -292,6 +292,7 @@ grub_net_ipv6_get_link_local (struct grub_net_card *card,
addr.type = GRUB_NET_NETWORK_LEVEL_PROTOCOL_IPV6;
addr.ipv6[0] = grub_cpu_to_be64_compile_time (0xfe80ULL << 48);
addr.ipv6[1] = grub_net_ipv6_get_id (hwaddr);
+ addr.option = 0;
FOR_NET_NETWORK_LEVEL_INTERFACES (inf)
{