The following bug is reproducible on Py 2.4.3 and 2.5.
It was tested on Windows. You need a tarfile with a
long file name that triggers the GNU LONGNAME
extension.
Extracting such a file gives me an IO error because it
tries to create a file with a slash at the end. This is
because
# 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
sets the type incorrectly after it was called from the
callback proc which has no possiblity to set the name
of the intermediary tarinfo class because it is
instantiated in the next-method.
So this yields a directory which should be a file which
is obviously wrong. Might be related to commit 41340
"Patch #1338314, Bug #1336623". (At least the code
changed there is causing this bug).
|