From: Yu Watanabe Date: Fri, 15 Mar 2019 14:44:47 +0000 (+0900) Subject: network: clear previous assignment X-Git-Tag: v242-rc1~119^2~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5f07d640cad1133f99f242675dc3b67642cb7cdc;p=thirdparty%2Fsystemd.git network: clear previous assignment Fixes oss-fuzz#13719. --- diff --git a/src/network/netdev/wireguard.c b/src/network/netdev/wireguard.c index b1b2ae1bb9e..73c5402972f 100644 --- a/src/network/netdev/wireguard.c +++ b/src/network/netdev/wireguard.c @@ -758,12 +758,12 @@ int config_parse_wireguard_endpoint(const char *unit, ++end; } - peer->endpoint_host = strndup(begin, len); - if (!peer->endpoint_host) + r = free_and_strndup(&peer->endpoint_host, begin, len); + if (r < 0) return log_oom(); - peer->endpoint_port = strdup(end); - if (!peer->endpoint_port) + r = free_and_strdup(&peer->endpoint_port, end); + if (r < 0) return log_oom(); r = set_ensure_allocated(&w->peers_with_unresolved_endpoint, NULL);