From: Luca Boccassi Date: Thu, 2 Jul 2026 17:47:27 +0000 (+0100) Subject: network: initialize dot_servers before CLEANUP_ARRAY X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9cae6d9c565e820d9a5bf0b35c8b73b6004553bb;p=thirdparty%2Fsystemd.git network: initialize dot_servers before CLEANUP_ARRAY If dns_resolvers_to_dot_addrs() fails (e.g. OOM) it returns without assigning *ret_addrs, so the CLEANUP_ARRAY() cleanup would free an uninitialized dot_servers pointer on the error return. Follow-up for 3fd6708cde0fa4283e2335aca288a40a49406f3c --- diff --git a/src/network/networkd-state-file.c b/src/network/networkd-state-file.c index 3c505f39e6c..f077ed5f4b9 100644 --- a/src/network/networkd-state-file.c +++ b/src/network/networkd-state-file.c @@ -134,7 +134,7 @@ static int link_put_dns(Link *link, OrderedSet **s) { r = sd_dhcp_lease_get_dnr(link->dhcp_lease, &resolvers); if (r >= 0) { - struct in_addr_full **dot_servers; + struct in_addr_full **dot_servers = NULL; size_t n = 0; CLEANUP_ARRAY(dot_servers, n, in_addr_full_free_array); @@ -163,7 +163,7 @@ static int link_put_dns(Link *link, OrderedSet **s) { r = sd_dhcp6_lease_get_dnr(link->dhcp6_lease, &resolvers); if (r >= 0) { - struct in_addr_full **dot_servers; + struct in_addr_full **dot_servers = NULL; size_t n = 0; CLEANUP_ARRAY(dot_servers, n, in_addr_full_free_array);