aboutsummaryrefslogtreecommitdiffstats
path: root/libarchive/archive_write_add_filter_program.c
diff options
context:
space:
mode:
authorMartin Matuska <mm@FreeBSD.org>2019-12-28 23:40:32 +0000
committerMartin Matuska <mm@FreeBSD.org>2019-12-28 23:40:32 +0000
commit6922acad9a482c17c7af1acdb4d11d03f19bb1dc (patch)
treeb7e2717582504805f31e2195f7c74c5d6fa82a45 /libarchive/archive_write_add_filter_program.c
parenta297901e6c90d415ac49c88002dd4e02dc49e32b (diff)
downloadsrc-6922acad9a482c17c7af1acdb4d11d03f19bb1dc.tar.gz
src-6922acad9a482c17c7af1acdb4d11d03f19bb1dc.zip
Update vendor/libarchive/dist to git 1dae5a549fe4ab99fd3a49a9edcf897a7b2b1844
Relevant vendor changes: Issue #351: Refactor and implement private state logic for write filters PR #1252: RAR5 reader - verify window size for solid files (OSS-Fuzz 15482) PR #1255: zip writer - don't append unused NUL for directories PR #1260: Fix sparse file offset overflow on 32-bit systems PR #1263: UNICODE filename support for reading lha/lzh format Issue #1276: Bugfix and optimize archive_wstring_append_from_mbs() PR #1288: Add the "xattrhdr" option to pax write options PR #1295: 7z reader - fix reading archives with digests in PackInfo PR #1296: RAR5 reader - verify window size for multivolume archives PR #1297: ZIP reader - support LZMA_STREAM_END marker in 'lzma alone' files Issue #1298: Fix a heap-buffer-overflow in archive_string_append_from_wcs() OSS-Fuzz 19360, 19362: LHA reader - plug two memory leaks on error Fix possible off-by-one when dealing with readlink(2)
Notes
Notes: svn path=/vendor/libarchive/dist/; revision=356163
Diffstat (limited to 'libarchive/archive_write_add_filter_program.c')
-rw-r--r--libarchive/archive_write_add_filter_program.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/libarchive/archive_write_add_filter_program.c b/libarchive/archive_write_add_filter_program.c
index 660f693f29d0..a4bc1d90eda8 100644
--- a/libarchive/archive_write_add_filter_program.c
+++ b/libarchive/archive_write_add_filter_program.c
@@ -212,11 +212,6 @@ __archive_write_program_open(struct archive_write_filter *f,
struct archive_write_program_data *data, const char *cmd)
{
pid_t child;
- int ret;
-
- ret = __archive_write_open_filter(f->next_filter);
- if (ret != ARCHIVE_OK)
- return (ret);
if (data->child_buf == NULL) {
data->child_buf_len = 65536;
@@ -353,11 +348,11 @@ int
__archive_write_program_close(struct archive_write_filter *f,
struct archive_write_program_data *data)
{
- int ret, r1, status;
+ int ret, status;
ssize_t bytes_read;
if (data->child == 0)
- return __archive_write_close_filter(f->next_filter);
+ return ARCHIVE_OK;
ret = 0;
close(data->child_stdin);
@@ -409,7 +404,6 @@ cleanup:
"Error closing program: %s", data->program_name);
ret = ARCHIVE_FATAL;
}
- r1 = __archive_write_close_filter(f->next_filter);
- return (r1 < ret ? r1 : ret);
+ return ret;
}