消息 [32013]
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. |
|
| 日期 |
用户 |
动作 |
参数 |
| 2007-08-23 14:53:42 | admin | 链接 | issue1719898 messages |
| 2007-08-23 14:53:42 | admin | 创建 | |
|