diff options
author | Andreas Schneider <asn@samba.org> | 2014-05-21 08:30:53 +0200 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2014-05-31 12:30:52 +0200 |
commit | 45eb7c9070fdd99b63fe01d31e26616d8f047f71 (patch) | |
tree | 64ef8e681d3473ad30eb61154f7dc19ac815bc0c | |
parent | 37b472d7972f0d18bd343137d4991f5e091a2ed7 (diff) | |
download | socket_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.c | 5 |
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); |