From 54c23f440bb912830cb104fb9807de8eba3f8eba Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Fri, 3 Mar 2023 14:27:40 +0100 Subject: [PATCH] connectivity: avoid uninitialized variable warning in nm_connectivity_check_start() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In file included from ./src/libnm-std-aux/nm-default-std.h:102, from ./src/libnm-glib-aux/nm-default-glib.h:11, from ./src/libnm-glib-aux/nm-default-glib-i18n-prog.h:13, from ./src/core/nm-default-daemon.h:11, from src/core/nm-connectivity.c:8: src/core/nm-connectivity.c: In function ‘nm_connectivity_check_start’: ./src/libnm-std-aux/nm-std-aux.h:180:12: error: ‘reason’ may be used uninitialized in this function [-Werror=maybe-uninitialized] if (expr) \ ^ src/core/nm-connectivity.c:1055:29: note: ‘reason’ was declared here const char *reason; ^~~~~~ --- src/core/nm-connectivity.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/core/nm-connectivity.c b/src/core/nm-connectivity.c index aaf9d810b3..92de44f17d 100644 --- a/src/core/nm-connectivity.c +++ b/src/core/nm-connectivity.c @@ -981,9 +981,7 @@ check_platform_config(NMConnectivity *self, return NM_CONNECTIVITY_NONE; } - switch (addr_family) { - case AF_INET: - { + if (NM_IS_IPv4(addr_family)) { const NMPlatformIP4Route *route; gboolean found_global = FALSE; NMDedupMultiIter iter; @@ -1002,13 +1000,8 @@ check_platform_config(NMConnectivity *self, NM_SET_OUT(reason, "no global route configured"); return NM_CONNECTIVITY_LIMITED; } - break; - } - case AF_INET6: + } else { /* Route scopes aren't meaningful for IPv6 so any route is fine. */ - break; - default: - g_return_val_if_reached(FALSE); } NM_SET_OUT(reason, NULL); @@ -1050,11 +1043,12 @@ nm_connectivity_check_start(NMConnectivity *self, cb_data->concheck.con_config = _con_config_ref(priv->con_config); if (iface && ifindex > 0 && priv->enabled && priv->uri_valid) { - gboolean has_systemd_resolved; - NMConnectivityState state; - const char *reason; + gboolean has_systemd_resolved; if (platform) { + const char *reason; + NMConnectivityState state; + state = check_platform_config(self, platform, ifindex, addr_family, &reason); nm_assert((state == NM_CONNECTIVITY_UNKNOWN) == !reason); if (state != NM_CONNECTIVITY_UNKNOWN) {