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>
This commit is contained in:
Jason A. Donenfeld 2020-01-11 12:16:13 -05:00
parent 95c30bc034
commit 64576f9a06
1 changed files with 2 additions and 1 deletions

View File

@ -881,11 +881,12 @@ static void coalesce_peers(struct wgdevice *device)
static int kernel_get_device(struct wgdevice **device, const char *iface) static int kernel_get_device(struct wgdevice **device, const char *iface)
{ {
int ret = 0; int ret;
struct nlmsghdr *nlh; struct nlmsghdr *nlh;
struct mnlg_socket *nlg; struct mnlg_socket *nlg;
try_again: try_again:
ret = 0;
*device = calloc(1, sizeof(**device)); *device = calloc(1, sizeof(**device));
if (!*device) if (!*device)
return -errno; return -errno;