From: Yu Watanabe Date: Wed, 24 Apr 2019 22:39:04 +0000 (+0200) Subject: network: fix ListenPort= in [WireGuard] section X-Git-Tag: archive/raspbian/242-7+rpi1^2~21 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=026f488f35aa952d0f86a700d4bdc097bc810508;p=systemd.git network: fix ListenPort= in [WireGuard] section This fixes a bug introduced by f1368a333e5e08575f0b45dfe41e936b106a8627. Fixes #12377. (cherry picked from commit a62b7bb79e9a2aa683624c32cde1c756d8466fb4) Gbp-Pq: Name network-fix-ListenPort-in-WireGuard-section.patch --- diff --git a/src/network/netdev/wireguard.c b/src/network/netdev/wireguard.c index 7959c1c0..6babb795 100644 --- a/src/network/netdev/wireguard.c +++ b/src/network/netdev/wireguard.c @@ -453,22 +453,23 @@ int config_parse_wireguard_listen_port( void *userdata) { uint16_t *s = data; - uint16_t port = 0; int r; assert(rvalue); assert(data); - if (!streq(rvalue, "auto")) { - r = parse_ip_port(rvalue, s); - if (r < 0) { - log_syntax(unit, LOG_ERR, filename, line, r, - "Invalid port specification, ignoring assignment: %s", rvalue); - return 0; - } + if (isempty(rvalue) || streq(rvalue, "auto")) { + *s = 0; + return 0; + } + + r = parse_ip_port(rvalue, s); + if (r < 0) { + log_syntax(unit, LOG_ERR, filename, line, r, + "Invalid port specification, ignoring assignment: %s", rvalue); + return 0; } - *s = port; return 0; }