X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=file.c;h=23deb73e2470f6ccbe3f074db79a9930e200a324;hb=67118a6b334cd50c9f39a0c04506befd49bf592a;hp=09b4afd6e97cc5125bfca9beed2f66bc2193119a;hpb=2e8106ac5683be723b7f4e4ee522678b60b5ab50;p=project%2Frpcd.git diff --git a/file.c b/file.c index 09b4afd..23deb73 100644 --- a/file.c +++ b/file.c @@ -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]);