summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2014-06-03 15:08:57 +0200
committerMichael Adam <obnox@samba.org>2014-06-05 23:57:10 +0200
commit1b949b5d6ce6ca24f61c8b327f3234c0a864740c (patch)
tree2f8f50bce9007dd34d7dc894f88bbe4dc0785edb /lib
parent5ee936d7e2afd5c570fcf848d2f1009949ca4e64 (diff)
downloadsamba-1b949b5d6ce6ca24f61c8b327f3234c0a864740c.tar.gz
samba-1b949b5d6ce6ca24f61c8b327f3234c0a864740c.tar.xz
samba-1b949b5d6ce6ca24f61c8b327f3234c0a864740c.zip
swrap: Add missing family check in bind().
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/socket_wrapper/socket_wrapper.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/socket_wrapper/socket_wrapper.c b/lib/socket_wrapper/socket_wrapper.c
index 45a71b0bdb9..5bedfa79c2f 100644
--- a/lib/socket_wrapper/socket_wrapper.c
+++ b/lib/socket_wrapper/socket_wrapper.c
@@ -2719,6 +2719,11 @@ static int swrap_bind(int s, const struct sockaddr *myaddr, socklen_t addrlen)
return libc_bind(s, myaddr, addrlen);
}
+ if (si->family != myaddr->sa_family) {
+ errno = EAFNOSUPPORT;
+ return -1;
+ }
+
free(si->myname);
si->myname_len = addrlen;
si->myname = sockaddr_dup(myaddr, addrlen);