summaryrefslogtreecommitdiff
path: root/source4/lib/socket_wrapper
diff options
context:
space:
mode:
Diffstat (limited to 'source4/lib/socket_wrapper')
-rw-r--r--source4/lib/socket_wrapper/socket_wrapper.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/source4/lib/socket_wrapper/socket_wrapper.c b/source4/lib/socket_wrapper/socket_wrapper.c
index 882ef462ea..42bac4bfae 100644
--- a/source4/lib/socket_wrapper/socket_wrapper.c
+++ b/source4/lib/socket_wrapper/socket_wrapper.c
@@ -242,11 +242,10 @@ int swrap_accept(int s, struct sockaddr *addr, socklen_t *addrlen)
memset(child_si, 0, sizeof(*child_si));
child_si->fd = fd;
+ child_si->bound = 1;
- if (addr && addrlen) {
- child_si->myname_len = *addrlen;
- child_si->myname = sockaddr_dup(addr, *addrlen);
- }
+ child_si->myname_len = parent_si->myname_len;
+ child_si->myname = sockaddr_dup(parent_si->myname, parent_si->myname_len);
child_si->peername_len = *addrlen;
child_si->peername = sockaddr_dup(addr, *addrlen);