Ticket Hash: | 887778e1916c934f8a303a6337a10869d0ac2963 | ||
Title: | tclvfs module vfs::zip discards the leading dot of files stored in an ZIP archive | ||
Status: | Open | Type: | Code_Defect |
Severity: | Severe | Priority: | Immediate |
Subsystem: | Resolution: | Open | |
Last Modified: |
2022-05-10 17:09:30 3.14 years ago |
Created: |
2022-05-09 17:04:57 3.15 years ago |
Version Found In: | 1.0.4 |
User Comments: | ||||
anonymous added on 2022-05-09 17:04:57:
tcl 8.6.12 tclvfs module vfs::zip discards the leading dot of files stored in an ZIP archive:
open via vfs::zip
As you can see, '.foo' became 'foo' in vfs::zip
But the ZIP really holds '.foo', not 'foo'
This is due to the following code in
which looks suspiciously like someone was trying to strip off the "./" prefix sequence from names like "./foo" Cleary stripping off the dot from the beginning of a file name is plain wrong. Proposed patch:
anonymous added on 2022-05-10 17:09:30: The line of code you highlighted is plain wrong as pointed out. It gives the following results: % string trimleft "/.hello" "./" hello % string trimleft "../../../../hello" "./" hello I would ask that the proposed fix handles these cases correctly. |