summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2015-06-05 14:19:00 +0200
committerStefan Metzmacher <metze@samba.org>2015-06-12 17:08:17 +0200
commit257bc586c22f9a7f34b913823d5c89592d433454 (patch)
treebdde4ff1b4f7355abd4589ad50a33ffb7446ccce
parent9d3444ad887bb3a118eaecd141c79dfd6de53f41 (diff)
downloadsamba-257bc586c22f9a7f34b913823d5c89592d433454.tar.gz
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 <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
-rw-r--r--source3/lib/addrchange.c8
1 files 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;
}