summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/libarchive/archive_read_extract.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/libarchive/archive_read_extract.c b/lib/libarchive/archive_read_extract.c
index 4285d13..c4189f0 100644
--- a/lib/libarchive/archive_read_extract.c
+++ b/lib/libarchive/archive_read_extract.c
@@ -98,10 +98,6 @@ archive_read_extract(struct archive *_a, struct archive_entry *entry, int flags)
if (r == ARCHIVE_OK)
/* If there's an FD, pour data into it. */
r = copy_data(_a, a->extract->ad);
- if (r != ARCHIVE_OK)
- archive_set_error(&a->archive,
- archive_errno(extract->ad),
- "%s", archive_error_string(extract->ad));
r2 = archive_write_finish_entry(a->extract->ad);
/* Use the first message. */
if (r2 != ARCHIVE_OK && r == ARCHIVE_OK)
@@ -141,8 +137,11 @@ copy_data(struct archive *ar, struct archive *aw)
if (r != ARCHIVE_OK)
return (r);
r = archive_write_data_block(aw, buff, size, offset);
- if (r != ARCHIVE_OK)
+ if (r != ARCHIVE_OK) {
+ archive_set_error(ar, archive_errno(aw),
+ "%s", archive_error_string(aw));
return (r);
+ }
}
}
OpenPOWER on IntegriCloud