From 45c7aa0d180b96ba975f6a6e62c2bd5c464253e3 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Fri, 4 Jun 2021 10:26:18 -0500 Subject: [PATCH] netconfig: Check l_rtnl_address_get_address return --- src/netconfig.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/netconfig.c b/src/netconfig.c index d739cc57..65ce3617 100644 --- a/src/netconfig.c +++ b/src/netconfig.c @@ -895,10 +895,11 @@ static void netconfig_ipv4_acd_event(enum l_acd_event event, void *user_data) static void netconfig_ipv4_select_and_install(struct netconfig *netconfig) { - netconfig->v4_address = netconfig_get_static4_address(netconfig); - if (netconfig->v4_address) { - char ip[INET6_ADDRSTRLEN]; + char ip[INET6_ADDRSTRLEN]; + netconfig->v4_address = netconfig_get_static4_address(netconfig); + if (netconfig->v4_address && + l_rtnl_address_get_address(netconfig->v4_address, ip)) { netconfig->rtm_protocol = RTPROT_STATIC; netconfig->acd = l_acd_new(netconfig->ifindex); l_acd_set_event_handler(netconfig->acd, @@ -908,8 +909,6 @@ static void netconfig_ipv4_select_and_install(struct netconfig *netconfig) l_acd_set_debug(netconfig->acd, do_debug, "[ACD] ", NULL); - l_rtnl_address_get_address(netconfig->v4_address, ip); - if (!l_acd_start(netconfig->acd, ip)) { l_error("failed to start ACD, continuing anyways"); l_acd_destroy(netconfig->acd);