diff options
author | kientzle <kientzle@FreeBSD.org> | 2007-04-15 04:43:12 +0000 |
---|---|---|
committer | kientzle <kientzle@FreeBSD.org> | 2007-04-15 04:43:12 +0000 |
commit | 688cc6519fc6ff275c9f960dd2a8830ecf5ac870 (patch) | |
tree | f068f3451c552c1c640c67eda342fe65577a2cbc /lib/libarchive/archive_write_disk.c | |
parent | b97ee9aaff34a91a479ea0d68a9a7d52f8e2df2d (diff) | |
download | FreeBSD-src-688cc6519fc6ff275c9f960dd2a8830ecf5ac870.zip FreeBSD-src-688cc6519fc6ff275c9f960dd2a8830ecf5ac870.tar.gz |
Properly cleanup the UID/GID lookup data.
Diffstat (limited to 'lib/libarchive/archive_write_disk.c')
-rw-r--r-- | lib/libarchive/archive_write_disk.c | 4 |
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); |