file: avoid closing stdio descriptors in rpc_file_exec_run
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
parent
67118a6b33
commit
ffaa6132cb
1 changed files with 12 additions and 5 deletions
17
file.c
17
file.c
|
@ -590,6 +590,13 @@ rpc_file_exec_epipe_state_cb(struct ustream *s)
|
||||||
rpc_file_exec_reply(c, UBUS_STATUS_OK);
|
rpc_file_exec_reply(c, UBUS_STATUS_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
rpc_fdclose(int fd)
|
||||||
|
{
|
||||||
|
if (fd > 2)
|
||||||
|
close(fd);
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
rpc_file_exec_run(const char *cmd,
|
rpc_file_exec_run(const char *cmd,
|
||||||
const struct blob_attr *arg, const struct blob_attr *env,
|
const struct blob_attr *arg, const struct blob_attr *env,
|
||||||
|
@ -639,11 +646,11 @@ rpc_file_exec_run(const char *cmd,
|
||||||
dup2(opipe[1], 1);
|
dup2(opipe[1], 1);
|
||||||
dup2(epipe[1], 2);
|
dup2(epipe[1], 2);
|
||||||
|
|
||||||
close(devnull);
|
rpc_fdclose(devnull);
|
||||||
close(opipe[0]);
|
rpc_fdclose(opipe[0]);
|
||||||
close(opipe[1]);
|
rpc_fdclose(opipe[1]);
|
||||||
close(epipe[0]);
|
rpc_fdclose(epipe[0]);
|
||||||
close(epipe[1]);
|
rpc_fdclose(epipe[1]);
|
||||||
|
|
||||||
arglen = 2;
|
arglen = 2;
|
||||||
args = malloc(sizeof(char *) * arglen);
|
args = malloc(sizeof(char *) * arglen);
|
||||||
|
|
Loading…
Reference in a new issue