diff options
Diffstat (limited to 'plugins/sa-junk-plugin/em-junk-filter.c')
-rw-r--r-- | plugins/sa-junk-plugin/em-junk-filter.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/plugins/sa-junk-plugin/em-junk-filter.c b/plugins/sa-junk-plugin/em-junk-filter.c index e60a505bd5..0cf5ff6caa 100644 --- a/plugins/sa-junk-plugin/em-junk-filter.c +++ b/plugins/sa-junk-plugin/em-junk-filter.c @@ -143,6 +143,8 @@ pipe_to_sa_full (CamelMimeMessage *msg, const char *in, char **argv, int rv_err, } if (output_buffer && pipe (out_fds) == -1) { + close (fds [0]); + close (fds [1]); errnosav = errno; d(printf ("failed to create a pipe (for use with spamassassin: %s\n", strerror (errno))); errno = errnosav; @@ -176,6 +178,10 @@ pipe_to_sa_full (CamelMimeMessage *msg, const char *in, char **argv, int rv_err, errnosav = errno; close (fds[0]); close (fds[1]); + if (output_buffer) { + close (out_fds [0]); + close (out_fds [1]); + } errno = errnosav; return rv_err; } |