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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user