Browse Source

libarchive: tar: fix memory leaks when reading symlinks or parsing pax headers

Backport [libarchive PR 2338] to fix [libarchive issue 2336].

[libarchive PR 2338]: https://github.com/libarchive/libarchive/pull/2338
[libarchive issue 2336]: https://github.com/libarchive/libarchive/issues/2336
Brad King 1 year ago
parent
commit
387a9a746a

+ 2 - 0
Utilities/cmlibarchive/libarchive/archive_read_support_format_tar.c

@@ -296,6 +296,7 @@ archive_read_format_tar_cleanup(struct archive_read *a)
 	archive_string_free(&tar->entry_pathname_override);
 	archive_string_free(&tar->entry_uname);
 	archive_string_free(&tar->entry_gname);
+	archive_string_free(&tar->entry_linkpath);
 	archive_string_free(&tar->line);
 	archive_string_free(&tar->pax_global);
 	archive_string_free(&tar->longname);
@@ -1935,6 +1936,7 @@ header_pax_extension(struct archive_read *a, struct tar *tar,
 		*unconsumed += 1;
 		tar_flush_unconsumed(a, unconsumed);
 	}
+	archive_string_free(&attr_name);
 	*unconsumed += ext_size + ext_padding;
 
 	/*