summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkientzle <kientzle@FreeBSD.org>2007-04-15 04:43:12 +0000
committerkientzle <kientzle@FreeBSD.org>2007-04-15 04:43:12 +0000
commit688cc6519fc6ff275c9f960dd2a8830ecf5ac870 (patch)
treef068f3451c552c1c640c67eda342fe65577a2cbc
parentb97ee9aaff34a91a479ea0d68a9a7d52f8e2df2d (diff)
downloadFreeBSD-src-688cc6519fc6ff275c9f960dd2a8830ecf5ac870.zip
FreeBSD-src-688cc6519fc6ff275c9f960dd2a8830ecf5ac870.tar.gz
Properly cleanup the UID/GID lookup data.
-rw-r--r--lib/libarchive/archive_write_disk.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/libarchive/archive_write_disk.c b/lib/libarchive/archive_write_disk.c
index f7ea41f..e137b6d 100644
--- a/lib/libarchive/archive_write_disk.c
+++ b/lib/libarchive/archive_write_disk.c
@@ -922,6 +922,10 @@ _archive_write_finish(struct archive *_a)
struct archive_write_disk *a = (struct archive_write_disk *)_a;
int ret;
ret = _archive_write_close(&a->archive);
+ if (a->cleanup_gid != NULL && a->lookup_gid_data != NULL)
+ (a->cleanup_gid)(a->lookup_gid_data);
+ if (a->cleanup_uid != NULL && a->lookup_uid_data != NULL)
+ (a->cleanup_uid)(a->lookup_uid_data);
archive_string_free(&a->_name_data);
archive_string_free(&a->archive.error_string);
archive_string_free(&a->path_safe);
OpenPOWER on IntegriCloud