mirror of https://github.com/python/cpython
Merge with 3.2: Issue #12841: Fix tarfile extraction of non-existent uids/gids.
This commit is contained in:
commit
24757851b7
|
@ -2366,17 +2366,11 @@ class TarFile(object):
|
|||
try:
|
||||
g = grp.getgrnam(tarinfo.gname)[2]
|
||||
except KeyError:
|
||||
try:
|
||||
g = grp.getgrgid(tarinfo.gid)[2]
|
||||
except KeyError:
|
||||
g = os.getgid()
|
||||
g = tarinfo.gid
|
||||
try:
|
||||
u = pwd.getpwnam(tarinfo.uname)[2]
|
||||
except KeyError:
|
||||
try:
|
||||
u = pwd.getpwuid(tarinfo.uid)[2]
|
||||
except KeyError:
|
||||
u = os.getuid()
|
||||
u = tarinfo.uid
|
||||
try:
|
||||
if tarinfo.issym() and hasattr(os, "lchown"):
|
||||
os.lchown(targetpath, u, g)
|
||||
|
|
|
@ -271,6 +271,11 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #12841: tarfile unnecessarily checked the existence of numerical user
|
||||
and group ids on extraction. If one of them did not exist the respective id
|
||||
of the current user (i.e. root) was used for the file and ownership
|
||||
information was lost.
|
||||
|
||||
- Issue #12888: Fix a bug in HTMLParser.unescape that prevented it to escape
|
||||
more than 128 entities. Patch by Peter Otten.
|
||||
|
||||
|
|
Loading…
Reference in New Issue