swrap: Add missing family check in bind().
authorAndreas Schneider <asn@samba.org>
Wed, 21 May 2014 06:30:53 +0000 (08:30 +0200)
committerMichael Adam <obnox@samba.org>
Sat, 31 May 2014 10:30:52 +0000 (12:30 +0200)
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
src/socket_wrapper.c

index 45a71b0bdb982547a921081052d07f37a1942226..5bedfa79c2fba504da09d4497dc001c32975f3dd 100644 (file)
@@ -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);