From: Susant Sahani Date: Mon, 18 Jan 2021 12:00:35 +0000 (+0100) Subject: network: bond - use ordered_set_ensure_put X-Git-Tag: v248-rc1~306^2~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d1ce8359890486812c64311c107ecf41f0b99a43;p=thirdparty%2Fsystemd.git network: bond - use ordered_set_ensure_put --- diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c index e27f36067bd..cf7ca88d6f3 100644 --- a/src/network/netdev/bond.c +++ b/src/network/netdev/bond.c @@ -342,10 +342,6 @@ int config_parse_arp_ip_target_address( continue; } - r = ordered_set_ensure_allocated(&b->arp_ip_targets, NULL); - if (r < 0) - return log_oom(); - if (ordered_set_size(b->arp_ip_targets) >= NETDEV_BOND_ARP_TARGETS_MAX) { log_syntax(unit, LOG_WARNING, filename, line, 0, "Too many ARP IP targets are specified. The maximum number is %d. Ignoring assignment: %s", @@ -353,7 +349,9 @@ int config_parse_arp_ip_target_address( continue; } - r = ordered_set_put(b->arp_ip_targets, UINT32_TO_PTR(ip.in.s_addr)); + r = ordered_set_ensure_put(&b->arp_ip_targets, NULL, UINT32_TO_PTR(ip.in.s_addr)); + if (r == -ENOMEM) + return log_oom(); if (r == -EEXIST) log_syntax(unit, LOG_WARNING, filename, line, r, "Bond ARP IP target address is duplicated, ignoring assignment: %s", n);