summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--udev_utils_run.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/udev_utils_run.c b/udev_utils_run.c
index 76a704c52c..2771861cf5 100644
--- a/udev_utils_run.c
+++ b/udev_utils_run.c
@@ -151,10 +151,14 @@ int run_program(const char *command, const char *subsystem,
close(devnull);
} else
err("open /dev/null failed: %s", strerror(errno));
- if (outpipe[WRITE_END] > 0)
+ if (outpipe[WRITE_END] > 0) {
dup2(outpipe[WRITE_END], STDOUT_FILENO);
- if (errpipe[WRITE_END] > 0)
+ close(outpipe[WRITE_END]);
+ }
+ if (errpipe[WRITE_END] > 0) {
dup2(errpipe[WRITE_END], STDERR_FILENO);
+ close(errpipe[WRITE_END]);
+ }
execv(argv[0], argv);
/* we should never reach this */