This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author zagy
Recipients
Date 2007-05-16.09:32:20
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
The tarfile module fixes an issue with "Some old tar programs represent a directory as a regular file with a trailing slash.":

    if tarinfo.isreg() and tarinfo.name.endswith("/"):
        tarinfo.type = DIRTYPE

*After* that the full filename is composed. The chars >100 are stored in "prefix":

    if tarinfo.type != GNUTYPE_SPARSE:
        tarinfo.name normpath(os.path.join(nts(tarinfo.prefix), tarinfo.name))


So guess what happens if you filename has a / at the 100th character. Right, its considered a directory. Since directories have no data, the next metadata block is read from your file data which fails in various ways.

Patch attached.
History
Date User Action Args
2007-08-23 14:53:42adminlinkissue1719898 messages
2007-08-23 14:53:42admincreate