tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 1d8dcb416c989ad86a1e3ae2aa92f4c2c1339183
parent fe2f4f3ec58ef03e8d3fe802283b848d54b5eb76
Author: Alexander Færøy <ahf@torproject.org>
Date:   Thu, 20 Dec 2018 12:47:04 +0100

Remember to close the child process' ends of the pipes.

This prevents us from leaking the HANDLE for stdout, stderr, and stdin.

See: https://bugs.torproject.org/28179

Diffstat:
Msrc/lib/process/process_win32.c | 5+++++
1 file changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/lib/process/process_win32.c b/src/lib/process/process_win32.c @@ -248,6 +248,11 @@ process_win32_exec(process_t *process) win32_process->stderr_handle.pipe = stderr_pipe_read; win32_process->stdin_handle.pipe = stdin_pipe_write; + /* Close our ends of the pipes that is now owned by the child process. */ + CloseHandle(stdout_pipe_write); + CloseHandle(stderr_pipe_write); + CloseHandle(stdin_pipe_read); + /* Used by the callback functions from ReadFileEx() and WriteFileEx() such * that we can figure out which process_t that was responsible for the event. *