diff options
Diffstat (limited to 'camel/camel-filter-driver.c')
-rw-r--r-- | camel/camel-filter-driver.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/camel/camel-filter-driver.c b/camel/camel-filter-driver.c index 63d96f5390..c6004a38df 100644 --- a/camel/camel-filter-driver.c +++ b/camel/camel-filter-driver.c @@ -679,9 +679,13 @@ pipe_to_system (struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFil if (!(pid = fork ())) { /* child process */ GPtrArray *args; - int maxfd; + int maxfd, fd; - if (dup2 (fds[0], STDIN_FILENO) < 0 || dup2 (fds[3], STDOUT_FILENO) < 0) + fd = open ("/dev/null", O_WRONLY); + + if (dup2 (fds[0], STDIN_FILENO) < 0 || + dup2 (fds[3], STDOUT_FILENO) < 0 || + dup2 (fd, STDERR_FILENO) < 0) _exit (255); setsid (); |