From: Michihiro NAKAJIMA Date: Thu, 22 Dec 2011 15:19:35 +0000 (-0500) Subject: Fix a memory leak. X-Git-Tag: v3.0.2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5aa3efaf67351fc32f29ae843dfa946c71e48e77;p=thirdparty%2Flibarchive.git Fix a memory leak. SVN-Revision: 3962 --- diff --git a/libarchive/archive_read_support_format_zip.c b/libarchive/archive_read_support_format_zip.c index 1704ada5d..a061773ca 100644 --- a/libarchive/archive_read_support_format_zip.c +++ b/libarchive/archive_read_support_format_zip.c @@ -375,6 +375,7 @@ archive_read_format_zip_seekable_read_header(struct archive_read *a, archive_entry_set_size(entry, 0); p = __archive_read_ahead(a, linkname_length, NULL); if (p == NULL) { + free(linkname); archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, "Truncated Zip file"); return ARCHIVE_FATAL; @@ -383,6 +384,7 @@ archive_read_format_zip_seekable_read_header(struct archive_read *a, memcpy(linkname, p, linkname_length); linkname[linkname_length] = '\0'; archive_entry_copy_symlink(entry, linkname); + free(linkname); /* TODO: handle character-set issues? */ } return ARCHIVE_OK;