]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Fix a memory leak by invoking the client closer at the
authorTim Kientzle <kientzle@gmail.com>
Thu, 4 Mar 2010 05:13:39 +0000 (00:13 -0500)
committerTim Kientzle <kientzle@gmail.com>
Thu, 4 Mar 2010 05:13:39 +0000 (00:13 -0500)
right time.

SVN-Revision: 2005

libarchive/archive_write.c

index 752768f9d99efedfb8649d1fd0f189047fc66bdb..11b384ec5bfe22c46b836ca6c548a4db09ce1763 100644 (file)
@@ -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;