From: Gabriel Venberg Date: Mon, 26 Jun 2023 09:09:08 +0000 (-0500) Subject: gh-104527: zippapp will now avoid appending an archive to itself. (gh-106076) X-Git-Tag: v3.13.0a1~1644 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dac3d389e747c6f6ef17e4e2f38731c8ef83eada;p=thirdparty%2FPython%2Fcpython.git gh-104527: zippapp will now avoid appending an archive to itself. (gh-106076) zippapp will now avoid appending an archive to itself. --- diff --git a/Lib/zipapp.py b/Lib/zipapp.py index d8ebfcb6c73b..03a214efa10a 100644 --- a/Lib/zipapp.py +++ b/Lib/zipapp.py @@ -138,7 +138,7 @@ def create_archive(source, target=None, interpreter=None, main=None, with zipfile.ZipFile(fd, 'w', compression=compression) as z: for child in sorted(source.rglob('*')): arcname = child.relative_to(source) - if filter is None or filter(arcname): + if filter is None or filter(arcname) and child.resolve() != arcname.resolve(): z.write(child, arcname.as_posix()) if main_py: z.writestr('__main__.py', main_py.encode('utf-8')) diff --git a/Misc/NEWS.d/next/Library/2023-06-25-06-57-24.gh-issue-104527.TJEUkd.rst b/Misc/NEWS.d/next/Library/2023-06-25-06-57-24.gh-issue-104527.TJEUkd.rst new file mode 100644 index 000000000000..50b845bcde9b --- /dev/null +++ b/Misc/NEWS.d/next/Library/2023-06-25-06-57-24.gh-issue-104527.TJEUkd.rst @@ -0,0 +1 @@ +Zipapp will now skip over apending an archive to itself.