summaryrefslogtreecommitdiffstats
path: root/lib/libarchive/archive_write_set_format_cpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libarchive/archive_write_set_format_cpio.c')
-rw-r--r--lib/libarchive/archive_write_set_format_cpio.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/libarchive/archive_write_set_format_cpio.c b/lib/libarchive/archive_write_set_format_cpio.c
index 83e88ab..91f8283 100644
--- a/lib/libarchive/archive_write_set_format_cpio.c
+++ b/lib/libarchive/archive_write_set_format_cpio.c
@@ -207,10 +207,12 @@ format_octal_recursive(int64_t v, char *p, int s)
static int
archive_write_cpio_finish(struct archive *a)
{
+ struct cpio *cpio;
struct stat st;
int er;
struct archive_entry *trailer;
+ cpio = a->format_data;
trailer = archive_entry_new();
memset(&st, 0, sizeof(st));
st.st_nlink = 1;
@@ -218,6 +220,9 @@ archive_write_cpio_finish(struct archive *a)
archive_entry_set_pathname(trailer, "TRAILER!!!");
er = archive_write_cpio_header(a, trailer);
archive_entry_free(trailer);
+
+ free(cpio);
+ a->format_data = NULL;
return (er);
}
OpenPOWER on IntegriCloud