aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/ipc.c
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2020-01-11 12:16:13 -0500
committerJason A. Donenfeld <Jason@zx2c4.com>2020-01-11 12:16:50 -0500
commit64576f9a062516ff29a6186bac7527d55e29d258 (patch)
tree3ae5f7acb8c388bfa385e1f8ccb844b4298fbe99 /src/ipc.c
parentfuzz: add set and setconf fuzzers (diff)
downloadwireguard-tools-64576f9a062516ff29a6186bac7527d55e29d258.tar.xz
wireguard-tools-64576f9a062516ff29a6186bac7527d55e29d258.zip
netlink: make sure to clear return value when trying again
Otherwise this runs in an infinite loop if at some point a dump was interrupted. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to '')
-rw-r--r--src/ipc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/ipc.c b/src/ipc.c
index 1110670..8b74b5c 100644
--- a/src/ipc.c
+++ b/src/ipc.c
@@ -881,11 +881,12 @@ static void coalesce_peers(struct wgdevice *device)
static int kernel_get_device(struct wgdevice **device, const char *iface)
{
- int ret = 0;
+ int ret;
struct nlmsghdr *nlh;
struct mnlg_socket *nlg;
try_again:
+ ret = 0;
*device = calloc(1, sizeof(**device));
if (!*device)
return -errno;