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:
parent
81c564798c
commit
4ecac6067f
@ -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");
|
||||
|
Loading…
x
Reference in New Issue
Block a user