aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2016-12-20 04:21:15 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2016-12-23 21:09:23 +0100
commit868d25ea35dd54d13dc2045fac000839d80cc0bd (patch)
tree44078ed393cbab9f065a2fdd1c27d8d77439501a
parentversion: bump snapshot (diff)
downloadwireguard-monolithic-historical-868d25ea35dd54d13dc2045fac000839d80cc0bd.tar.xz
wireguard-monolithic-historical-868d25ea35dd54d13dc2045fac000839d80cc0bd.zip
config: allow removing multiple peers at once
-rw-r--r--src/config.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/config.c b/src/config.c
index 4972245..741cace 100644
--- a/src/config.c
+++ b/src/config.c
@@ -71,7 +71,7 @@ static int set_peer(struct wireguard_device *wg, void __user *user_peer, size_t
if (in_peer.remove_me) {
peer_put(peer);
peer_remove(peer);
- return 0;
+ goto out;
}
if (in_peer.endpoint.ss_family == AF_INET || in_peer.endpoint.ss_family == AF_INET6) {
@@ -103,6 +103,7 @@ static int set_peer(struct wireguard_device *wg, void __user *user_peer, size_t
peer_put(peer);
+out:
if (!ret)
*len = sizeof(struct wgpeer) + (in_peer.num_ipmasks * sizeof(struct wgipmask));