bpo-12800: tarfile: Restore fix from 011525ee9 (GH-21409)

Restore fix from 011525ee92.
This commit is contained in:
Julien Palard 2020-11-25 10:23:17 +01:00 committed by GitHub
parent c9c6e9f89a
commit 4fedd7123e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 3 deletions

View file

@ -2237,6 +2237,9 @@ class TarFile(object):
try:
# For systems that support symbolic and hard links.
if tarinfo.issym():
if os.path.lexists(targetpath):
# Avoid FileExistsError on following os.symlink.
os.unlink(targetpath)
os.symlink(tarinfo.linkname, targetpath)
else:
# See extract().