chiark / gitweb /
sd-network: avoid false positive compiler warning caused by LTO
authorTom Gundersen <teg@jklm.no>
Fri, 23 May 2014 22:46:30 +0000 (00:46 +0200)
committerTom Gundersen <teg@jklm.no>
Fri, 23 May 2014 22:46:30 +0000 (00:46 +0200)
Djalal Harouni <tixxdz@opendz.org>:
There is also this one genrated by LTO, IMO it's a false positive since
we do *check* for "lease" but the code is not consistent since in that
code path, "lease" is initialized to NULL in other places, except for
this one:

src/resolve/resolved-manager.c: In function 'manager_update_resolv_conf':
src/libsystemd-network/sd-dhcp-lease.c:67:18: warning: 'lease' may be used uninitialized in this function [-Wmaybe-uninitialized]
        if (lease->dns_size) {
                 ^
src/network/sd-network.c:146:24: note: 'lease' was declared here
        sd_dhcp_lease *lease;
                       ^

src/network/sd-network.c

index e7cda0d..ba13a30 100644 (file)
@@ -143,7 +143,7 @@ _public_ int sd_network_get_link_operational_state(unsigned index, char **state)
 
 _public_ int sd_network_get_dhcp_lease(unsigned index, sd_dhcp_lease **ret) {
         _cleanup_free_ char *p = NULL, *s = NULL;
 
 _public_ int sd_network_get_dhcp_lease(unsigned index, sd_dhcp_lease **ret) {
         _cleanup_free_ char *p = NULL, *s = NULL;
-        sd_dhcp_lease *lease;
+        sd_dhcp_lease *lease = NULL;
         int r;
 
         assert_return(index, -EINVAL);
         int r;
 
         assert_return(index, -EINVAL);