From: Tim Kientzle Date: Thu, 4 Mar 2010 05:13:39 +0000 (-0500) Subject: Fix a memory leak by invoking the client closer at the X-Git-Tag: v3.0.0a~1168 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4739b8da9676cb33e939897a78554671768d00a5;p=thirdparty%2Flibarchive.git Fix a memory leak by invoking the client closer at the right time. SVN-Revision: 2005 --- diff --git a/libarchive/archive_write.c b/libarchive/archive_write.c index 752768f9d..11b384ec5 100644 --- a/libarchive/archive_write.c +++ b/libarchive/archive_write.c @@ -518,6 +518,8 @@ archive_write_client_close(struct archive_write_filter *f) a->client_data, state->buffer, block_length); ret = bytes_written <= 0 ? ARCHIVE_FATAL : ARCHIVE_OK; } + if (a->client_closer) + (*a->client_closer)(&a->archive, a->client_data); free(state->buffer); free(state); a->client_data = NULL;