From 257bc586c22f9a7f34b913823d5c89592d433454 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Fri, 5 Jun 2015 14:19:00 +0200 Subject: [PATCH] s3:lib/addrchange: look at the correct nl_pid in addrchange_done() state->fromaddr is the address we got from recvfrom_send/recv. state->addr is completely untouched after tevent_req_create(). BUG: https://bugzilla.samba.org/show_bug.cgi?id=11316 Signed-off-by: Stefan Metzmacher Reviewed-by: Volker Lendecke --- source3/lib/addrchange.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source3/lib/addrchange.c b/source3/lib/addrchange.c index a5d20419535..b85a81f12e0 100644 --- a/source3/lib/addrchange.c +++ b/source3/lib/addrchange.c @@ -126,7 +126,7 @@ static void addrchange_done(struct tevent_req *subreq) subreq, struct tevent_req); struct addrchange_state *state = tevent_req_data( req, struct addrchange_state); - struct sockaddr_nl *addr; + struct sockaddr_nl *fromaddr; struct nlmsghdr *h; struct ifaddrmsg *ifa; struct rtattr *rta; @@ -148,10 +148,10 @@ static void addrchange_done(struct tevent_req *subreq) goto retry; } - addr = (struct sockaddr_nl *)(void *)&state->addr; - if (addr->nl_pid != 0) { + fromaddr = (struct sockaddr_nl *)(void *)&state->fromaddr; + if (fromaddr->nl_pid != 0) { DEBUG(10, ("Got msg from pid %d, not from the kernel\n", - (int)addr->nl_pid)); + (int)fromaddr->nl_pid)); goto retry; } -- 2.11.4.GIT