]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Fix a memory leak.
authorMichihiro NAKAJIMA <ggcueroad@gmail.com>
Thu, 22 Dec 2011 15:19:35 +0000 (10:19 -0500)
committerMichihiro NAKAJIMA <ggcueroad@gmail.com>
Thu, 22 Dec 2011 15:19:35 +0000 (10:19 -0500)
SVN-Revision: 3962

libarchive/archive_read_support_format_zip.c

index 1704ada5d1189a05a0b431f1751aef08185ca87e..a061773ca82846b635c46942ea551797d3c154bf 100644 (file)
@@ -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;