From: Yu Watanabe Date: Wed, 8 May 2019 22:03:54 +0000 (+0200) Subject: network: replace inet_ntop() with in_addr_to_string() X-Git-Tag: v243-rc1~459^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=57e447078d288ee71d50293cf600191b8e6d822f;p=thirdparty%2Fsystemd.git network: replace inet_ntop() with in_addr_to_string() --- diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c index 7db59d3acad..53e67742528 100644 --- a/src/network/networkd-dhcp6.c +++ b/src/network/networkd-dhcp6.c @@ -418,7 +418,7 @@ static int dhcp6_address_change( uint32_t lifetime_valid) { _cleanup_(address_freep) Address *addr = NULL; - char buffer[INET6_ADDRSTRLEN]; + _cleanup_free_ char *buffer = NULL; int r; r = address_new(&addr); @@ -426,7 +426,7 @@ static int dhcp6_address_change( return r; addr->family = AF_INET6; - memcpy(&addr->in_addr.in6, ip6_addr, sizeof(*ip6_addr)); + addr->in_addr.in6 = *ip6_addr; addr->flags = IFA_F_NOPREFIXROUTE; addr->prefixlen = 128; @@ -434,10 +434,10 @@ static int dhcp6_address_change( addr->cinfo.ifa_prefered = lifetime_preferred; addr->cinfo.ifa_valid = lifetime_valid; + (void) in_addr_to_string(addr->family, &addr->in_addr, &buffer); log_link_info(link, "DHCPv6 address %s/%d timeout preferred %d valid %d", - inet_ntop(AF_INET6, &addr->in_addr.in6, buffer, sizeof(buffer)), - addr->prefixlen, lifetime_preferred, lifetime_valid); + strnull(buffer), addr->prefixlen, lifetime_preferred, lifetime_valid); r = address_configure(addr, link, dhcp6_address_handler, true); if (r < 0) diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index a842d131a53..20acb50ef31 100644 --- a/src/network/networkd-manager.c +++ b/src/network/networkd-manager.c @@ -477,19 +477,17 @@ int manager_rtnl_process_route(sd_netlink *rtnl, sd_netlink_message *message, vo } int manager_rtnl_process_address(sd_netlink *rtnl, sd_netlink_message *message, void *userdata) { + _cleanup_free_ char *buf = NULL; Manager *m = userdata; Link *link = NULL; uint16_t type; - unsigned char flags; - int family; - unsigned char prefixlen; - unsigned char scope; + unsigned char flags, prefixlen, scope; union in_addr_union in_addr = IN_ADDR_NULL; struct ifa_cacheinfo cinfo; Address *address = NULL; - char buf[INET6_ADDRSTRLEN], valid_buf[FORMAT_TIMESPAN_MAX]; + char valid_buf[FORMAT_TIMESPAN_MAX]; const char *valid_str = NULL; - int r, ifindex; + int ifindex, family, r; assert(rtnl); assert(message); @@ -577,8 +575,9 @@ int manager_rtnl_process_address(sd_netlink *rtnl, sd_netlink_message *message, assert_not_reached("Received unsupported address family"); } - if (!inet_ntop(family, &in_addr, buf, INET6_ADDRSTRLEN)) { - log_link_warning(link, "Could not print address, ignoring"); + r = in_addr_to_string(family, &in_addr, &buf); + if (r < 0) { + log_link_warning_errno(link, r, "Could not print address, ignoring: %m"); return 0; } @@ -586,12 +585,10 @@ int manager_rtnl_process_address(sd_netlink *rtnl, sd_netlink_message *message, if (r < 0 && r != -ENODATA) { log_link_warning_errno(link, r, "rtnl: cannot get IFA_CACHEINFO attribute, ignoring: %m"); return 0; - } else if (r >= 0) { - if (cinfo.ifa_valid != CACHE_INFO_INFINITY_LIFE_TIME) - valid_str = format_timespan(valid_buf, FORMAT_TIMESPAN_MAX, - cinfo.ifa_valid * USEC_PER_SEC, - USEC_PER_SEC); - } + } else if (r >= 0 && cinfo.ifa_valid != CACHE_INFO_INFINITY_LIFE_TIME) + valid_str = format_timespan(valid_buf, FORMAT_TIMESPAN_MAX, + cinfo.ifa_valid * USEC_PER_SEC, + USEC_PER_SEC); (void) address_get(link, family, &in_addr, prefixlen, &address); diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c index 3b546528055..325f7ae5929 100644 --- a/src/network/networkd-ndisc.c +++ b/src/network/networkd-ndisc.c @@ -66,12 +66,11 @@ static int ndisc_router_process_default(Link *link, sd_ndisc_router *rt) { if (address->family != AF_INET6) continue; if (in_addr_equal(AF_INET6, &gateway, &address->in_addr)) { - char buffer[INET6_ADDRSTRLEN]; + _cleanup_free_ char *buffer = NULL; + (void) in_addr_to_string(AF_INET6, &address->in_addr, &buffer); log_link_debug(link, "No NDisc route added, gateway %s matches local address", - inet_ntop(AF_INET6, - &address->in_addr.in6, - buffer, sizeof(buffer))); + strnull(buffer)); return 0; } } @@ -80,12 +79,11 @@ static int ndisc_router_process_default(Link *link, sd_ndisc_router *rt) { if (address->family != AF_INET6) continue; if (in_addr_equal(AF_INET6, &gateway, &address->in_addr)) { - char buffer[INET6_ADDRSTRLEN]; + _cleanup_free_ char *buffer = NULL; + (void) in_addr_to_string(AF_INET6, &address->in_addr, &buffer); log_link_debug(link, "No NDisc route added, gateway %s matches local address", - inet_ntop(AF_INET6, - &address->in_addr.in6, - buffer, sizeof(buffer))); + strnull(buffer)); return 0; } }