1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-27 22:50:26 +03:00

runcmd: use set_close_on_exec()

this prevents a fd leak to child processes

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Thu Dec 22 14:00:06 CET 2011 on sn-devel-104
This commit is contained in:
Andrew Tridgell 2011-11-30 15:18:29 +11:00 committed by Andrew Bartlett
parent 81c564798c
commit 4ecac6067f

View File

@ -135,6 +135,10 @@ struct tevent_req *samba_runcmd_send(TALLOC_CTX *mem_ctx,
set_blocking(state->fd_stderr, false);
set_blocking(state->fd_stdin, false);
smb_set_close_on_exec(state->fd_stdin);
smb_set_close_on_exec(state->fd_stdout);
smb_set_close_on_exec(state->fd_stderr);
talloc_set_destructor(state, samba_runcmd_state_destructor);
state->fde_stdout = tevent_add_fd(ev, state,
@ -197,6 +201,10 @@ struct tevent_req *samba_runcmd_send(TALLOC_CTX *mem_ctx,
dup2(p1[1], 1);
dup2(p2[1], 2);
close(p1[1]);
close(p2[1]);
close(p3[0]);
argv = str_list_copy(state, discard_const_p(const char *, argv0));
if (!argv) {
fprintf(stderr, "Out of memory in child\n");