From ddaa8269f6b02a161ec25767eac4d6c465451430 Mon Sep 17 00:00:00 2001 From: Andrew Fasano Date: Thu, 15 Feb 2024 14:51:14 -0500 Subject: [PATCH] Convert paths to string for tarinfo --- unblob/handlers/archive/_safe_tarfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/unblob/handlers/archive/_safe_tarfile.py b/unblob/handlers/archive/_safe_tarfile.py index 95346fe256..9e2dc71d63 100644 --- a/unblob/handlers/archive/_safe_tarfile.py +++ b/unblob/handlers/archive/_safe_tarfile.py @@ -112,7 +112,7 @@ def extract(self, tarinfo: tarfile.TarInfo, extract_root: Path): # noqa: C901 ) # The symlink will point to our relative target (may be updated below if unsafe) - tarinfo.linkname = rel_target + tarinfo.linkname = rel_target.as_posix() logger.info( "Link target is relative", linkname=tarinfo.linkname, name=tarinfo.name ) @@ -160,7 +160,7 @@ def extract(self, tarinfo: tarfile.TarInfo, extract_root: Path): # noqa: C901 # Prepend placeholder directories before rel_target to get a valid path # within extract_root. This is the relative version of resolved_path. rel_target = Path("/".join(["placeholder"] * drop_count)) / rel_target - tarinfo.linkname = rel_target + tarinfo.linkname = rel_target.as_posix() logger.debug("Creating symlink", points_to=resolved_path, name=tarinfo.name)