summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2014-05-21 08:30:53 +0200
committerMichael Adam <obnox@samba.org>2014-05-31 12:30:52 +0200
commit45eb7c9070fdd99b63fe01d31e26616d8f047f71 (patch)
tree64ef8e681d3473ad30eb61154f7dc19ac815bc0c
parent37b472d7972f0d18bd343137d4991f5e091a2ed7 (diff)
downloadsocket_wrapper-45eb7c9070fdd99b63fe01d31e26616d8f047f71.tar.gz
socket_wrapper-45eb7c9070fdd99b63fe01d31e26616d8f047f71.tar.xz
socket_wrapper-45eb7c9070fdd99b63fe01d31e26616d8f047f71.zip
swrap: Add missing family check in bind().
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
-rw-r--r--src/socket_wrapper.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/socket_wrapper.c b/src/socket_wrapper.c
index 45a71b0..5bedfa7 100644
--- a/src/socket_wrapper.c
+++ b/src/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);