summaryrefslogtreecommitdiff
path: root/libarchive/archive_write_add_filter_program.c
diff options
context:
space:
mode:
authorMichihiro NAKAJIMA <ggcueroad@gmail.com>2012-10-12 06:30:25 +0900
committerMichihiro NAKAJIMA <ggcueroad@gmail.com>2012-10-12 06:30:25 +0900
commita4c8851c5d531b092699b9ae8cc8300703b30800 (patch)
tree9001fa722fe4052488c2634b7bfce20fef5d7d3d /libarchive/archive_write_add_filter_program.c
parentee9bf37b9215d46783afec37c0b8abb807868c93 (diff)
downloadlibarchive-a4c8851c5d531b092699b9ae8cc8300703b30800.tar.gz
Properly call next filter even if the external program is already closed
or not opend.
Diffstat (limited to 'libarchive/archive_write_add_filter_program.c')
-rw-r--r--libarchive/archive_write_add_filter_program.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libarchive/archive_write_add_filter_program.c b/libarchive/archive_write_add_filter_program.c
index 16dcc54b..4aa699d0 100644
--- a/libarchive/archive_write_add_filter_program.c
+++ b/libarchive/archive_write_add_filter_program.c
@@ -371,7 +371,7 @@ __archive_write_program_close(struct archive_write_filter *f,
ssize_t bytes_read;
if (data->child == 0)
- return (ARCHIVE_OK);
+ return __archive_write_close_filter(f->next_filter);
ret = 0;
close(data->child_stdin);