New submission from Michael Gold <mg...@qnx.com>:

In TarFile.chown, if the lookup
  u = pwd.getpwnam(tarinfo.uname)[2]
fails, this line is used:
  u = pwd.getpwuid(tarinfo.uid)[2]

This will fail if the uid isn't in /etc/passwd.  I think "u = tarinfo.uid" 
would make more sense.  This fallback could also be used if the pwd module 
isn't present or tarinfo.uname isn't filled.  Here's a code sample:
    u = tarinfo.uid
    if tarinfo.uname and pwd:
        try: u = pwd.getpwnam(tarinfo.uname)[2]
        except KeyError: pass

The same issue applies to group lookup.

----------
components: Library (Lib)
messages: 134074
nosy: mgold-qnx
priority: normal
severity: normal
status: open
title: TarFile.chown: should use TarInfo.uid if user lookup fails
type: behavior
versions: Python 3.2

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue11879>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to