Commit 67118a6b authored by Jo-Philipp Wich's avatar Jo-Philipp Wich

file: patch process stdin to /dev/null

This prevents broken pipe errors in executed child processes that
attempt to access stdin.
Suggested-by: default avatarVytautas Virvičius <vy.virvicius@gmail.com>
Signed-off-by: default avatarJo-Philipp Wich <jo@mein.io>
parent 2e8106ac
......@@ -597,6 +597,7 @@ rpc_file_exec_run(const char *cmd,
{
pid_t pid;
int devnull;
int opipe[2];
int epipe[2];
......@@ -629,10 +630,16 @@ rpc_file_exec_run(const char *cmd,
case 0:
uloop_done();
devnull = open("/dev/null", O_RDWR);
if (devnull == -1)
return UBUS_STATUS_UNKNOWN_ERROR;
dup2(devnull, 0);
dup2(opipe[1], 1);
dup2(epipe[1], 2);
close(0);
close(devnull);
close(opipe[0]);
close(opipe[1]);
close(epipe[0]);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment