瀏覽代碼

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 年之前
父節點
當前提交
387a9a746a
共有 1 個文件被更改,包括 2 次插入0 次删除
  1. 2 0
      Utilities/cmlibarchive/libarchive/archive_read_support_format_tar.c

+ 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;
 
 	/*