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>
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 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;