1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-06 04:31:29 +00:00

Handle RLIM_INFINITY as socket limit.

This commit is contained in:
dmiller
2023-09-01 21:12:19 +00:00
parent 0890822b09
commit 5f58debc51
2 changed files with 4 additions and 3 deletions

View File

@@ -4722,7 +4722,7 @@ int set_max_open_descriptors(int desired_max) {
if (!getrlimit(flag, &r)) { if (!getrlimit(flag, &r)) {
/* If current limit is less than the desired, try to increase it */ /* If current limit is less than the desired, try to increase it */
if(r.rlim_cur < (rlim_t)desired_max){ if(r.rlim_cur != RLIM_INFINITY && r.rlim_cur < (rlim_t)desired_max){
if(desired_max<0){ if(desired_max<0){
r.rlim_cur=r.rlim_max; /* Set maximum */ r.rlim_cur=r.rlim_max; /* Set maximum */
}else{ }else{
@@ -4732,6 +4732,7 @@ int set_max_open_descriptors(int desired_max) {
; // netutil_debug("setrlimit(%d, %p) failed", flag, r); ; // netutil_debug("setrlimit(%d, %p) failed", flag, r);
if (!getrlimit(flag, &r)) { if (!getrlimit(flag, &r)) {
maxfds = r.rlim_cur; maxfds = r.rlim_cur;
// NOTE: This may be RLIM_INFINITY, which is -1 (~0UL) on Linux.
return maxfds; return maxfds;
}else { }else {
return 0; return 0;

View File

@@ -1994,8 +1994,8 @@ int nmap_main(int argc, char *argv[]) {
SIGPIPE */ SIGPIPE */
#endif #endif
if (o.max_parallelism && (i = max_sd()) && i < o.max_parallelism) { if (o.max_parallelism && (i = max_sd()) > 0 && i < o.max_parallelism) {
error("WARNING: Your specified max_parallel_sockets of %d, but your system says it might only give us %d. Trying anyway", o.max_parallelism, i); error("WARNING: max_parallelism is %d, but your system says it might only give us %d sockets. Trying anyway", o.max_parallelism, i);
} }
if (o.debugging > 1) if (o.debugging > 1)