From 54be07d05e4c763dfa1b612decc58fa234aa9c88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Tue, 30 Aug 2022 17:15:41 +0200 Subject: fix(npm): skip extracting pax_global_header from tarballs (#15677) --- cli/npm/tarball.rs | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'cli/npm') diff --git a/cli/npm/tarball.rs b/cli/npm/tarball.rs index f6fcb27bf..33e4faa69 100644 --- a/cli/npm/tarball.rs +++ b/cli/npm/tarball.rs @@ -123,6 +123,13 @@ fn extract_tarball(data: &[u8], output_folder: &Path) -> Result<(), AnyError> { let mut entry = entry?; let path = entry.path()?; let entry_type = entry.header().entry_type(); + + // Some package tarballs contain "pax_global_header", these entries + // should be skipped. + if entry_type == EntryType::XGlobalHeader { + continue; + } + // skip the first component which will be either "package" or the name of the package let relative_path = path.components().skip(1).collect::(); let absolute_path = output_folder.join(relative_path); -- cgit v1.2.3