1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-26 09:29:01 +00:00

Fix calculation of namelen param to bind in Ncat. Fixes #166

This commit is contained in:
dmiller
2015-06-18 04:33:58 +00:00
parent ce9eb6b0f3
commit d43967bf99
3 changed files with 39 additions and 3 deletions

View File

@@ -922,8 +922,26 @@ int ncat_connect(void)
}
else
#endif
if (srcaddr.storage.ss_family != AF_UNSPEC)
switch (srcaddr.storage.ss_family) {
case AF_UNSPEC:
break;
case AF_INET:
nsi_set_localaddr(cs.sock_nsi, &srcaddr.storage, sizeof(srcaddr.in));
break;
#ifdef AF_INET6
case AF_INET6:
nsi_set_localaddr(cs.sock_nsi, &srcaddr.storage, sizeof(srcaddr.in6));
break;
#endif
#if HAVE_SYS_UN_H
case AF_UNIX:
nsi_set_localaddr(cs.sock_nsi, &srcaddr.storage, SUN_LEN((struct sockaddr_un *)&srcaddr.storage));
break;
#endif
default:
nsi_set_localaddr(cs.sock_nsi, &srcaddr.storage, sizeof(srcaddr.storage));
break;
}
if (o.numsrcrtes) {
unsigned char *ipopts = NULL;