mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-20 02:09:24 +01:00
Make _SC_OPEN_MAX actually get used when closing fds before exec.
Fixes bug 8209; bugfix on 0.2.3.1-alpha.
This commit is contained in:
parent
fc35ee4910
commit
da6720e9fa
6
changes/bug8209
Normal file
6
changes/bug8209
Normal file
@ -0,0 +1,6 @@
|
||||
o Minor bugfixes:
|
||||
- When detecting the largest possible file descriptor (in order to close
|
||||
all file descriptors when launching a new program), actually use
|
||||
_SC_OPEN_MAX. The old code for doing this was very, very broken.
|
||||
Fix for bug 8209; bugfix on 0.2.3.1-alpha. Found by Coverity; this
|
||||
is CID 743383.
|
@ -3834,12 +3834,13 @@ tor_spawn_background(const char *const filename, const char **argv,
|
||||
child_state = CHILD_STATE_MAXFD;
|
||||
|
||||
#ifdef _SC_OPEN_MAX
|
||||
if (-1 != max_fd) {
|
||||
if (-1 == max_fd) {
|
||||
max_fd = (int) sysconf(_SC_OPEN_MAX);
|
||||
if (max_fd == -1)
|
||||
if (max_fd == -1) {
|
||||
max_fd = DEFAULT_MAX_FD;
|
||||
log_warn(LD_GENERAL,
|
||||
"Cannot find maximum file descriptor, assuming %d", max_fd);
|
||||
}
|
||||
}
|
||||
#else
|
||||
max_fd = DEFAULT_MAX_FD;
|
||||
|
Loading…
Reference in New Issue
Block a user