From: Andrew Tridgell Date: Tue, 9 Jun 2009 03:33:09 +0000 (+1000) Subject: fixed socket wrapper to determine family from the right structure X-Git-Tag: tdb-1.1.5~160 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=03dd06de9ae7b3692fd2ab141c0522abacbaec31;p=thirdparty%2Fsamba.git fixed socket wrapper to determine family from the right structure In convert_in_un_remote() the socket family can be accessed either as si->family or inaddr->sa_family. We were using the si->family to determine how to cast the inaddr structure, but if si->family != inaddr->sa_family then we will incorrectly be casting a in6 structure as in4 or vice-versa. --- diff --git a/lib/socket_wrapper/socket_wrapper.c b/lib/socket_wrapper/socket_wrapper.c index 071060c8643..8563400dbd4 100644 --- a/lib/socket_wrapper/socket_wrapper.c +++ b/lib/socket_wrapper/socket_wrapper.c @@ -348,7 +348,7 @@ static int convert_in_un_remote(struct socket_info *si, const struct sockaddr *i if (bcast) *bcast = 0; - switch (si->family) { + switch (inaddr->sa_family) { case AF_INET: { const struct sockaddr_in *in = (const struct sockaddr_in *)inaddr;