Message324743
This was first found over in Twisted tests. We probably aren't too terribly worried about it but I wanted to report here anyways.
https://twistedmatrix.com/trac/ticket/9525
Both 3.6 and 3.7 write the same file (sha at the end) based on the script in the first snippet. 3.6 can read both files, 3.7 can't read either.
----
altendky@lt:~/twisted$ cat ../z.py
import sys
import zipfile
print(sys.version)
fn = sys.argv[1]
print(fn)
with zipfile.ZipFile(fn, 'w') as zf:
zi = zipfile.ZipInfo("0")
zi.extra = b"hello, extra"
zf.writestr(zi, b"the real data")
zipfile.ZipFile(fn)
----
altendky@lt:~/twisted$ venv36/bin/python ../z.py 36.zip
3.6.6 (default, Jul 24 2018, 16:23:12)
[GCC 6.3.0 20170516]
36.zip
----
altendky@lt:~/twisted$ venv37/bin/python ../z.py 37.zip
3.7.0 (default, Jul 7 2018, 15:49:24)
[GCC 6.3.0 20170516]
37.zip
Traceback (most recent call last):
File "../z.py", line 14, in <module>
zipfile.ZipFile(fn)
File "/home/altendky/.pyenv/versions/3.7.0/lib/python3.7/zipfile.py", line 1200, in __init__
self._RealGetContents()
File "/home/altendky/.pyenv/versions/3.7.0/lib/python3.7/zipfile.py", line 1323, in _RealGetContents
x._decodeExtra()
File "/home/altendky/.pyenv/versions/3.7.0/lib/python3.7/zipfile.py", line 440, in _decodeExtra
raise BadZipFile("Corrupt extra field %04x (size=%d)" % (tp, ln))
zipfile.BadZipFile: Corrupt extra field 6568 (size=27756)
----
altendky@lt:~/twisted$ cat ../z.py
import sys
import zipfile
print(sys.version)
fn = sys.argv[1]
print(fn)
#with zipfile.ZipFile(fn, 'w') as zf:
# zi = zipfile.ZipInfo("0")
# zi.extra = b"hello, extra"
# zf.writestr(zi, b"the real data")
zipfile.ZipFile(fn)
----
altendky@lt:~/twisted$ venv36/bin/python ../z.py 37.zip
3.6.6 (default, Jul 24 2018, 16:23:12)
[GCC 6.3.0 20170516]
37.zip
----
altendky@lt:~/twisted$ venv37/bin/python ../z.py 36.zip
3.7.0 (default, Jul 7 2018, 15:49:24)
[GCC 6.3.0 20170516]
36.zip
Traceback (most recent call last):
File "../z.py", line 14, in <module>
zipfile.ZipFile(fn)
File "/home/altendky/.pyenv/versions/3.7.0/lib/python3.7/zipfile.py", line 1200, in __init__
self._RealGetContents()
File "/home/altendky/.pyenv/versions/3.7.0/lib/python3.7/zipfile.py", line 1323, in _RealGetContents
x._decodeExtra()
File "/home/altendky/.pyenv/versions/3.7.0/lib/python3.7/zipfile.py", line 440, in _decodeExtra
raise BadZipFile("Corrupt extra field %04x (size=%d)" % (tp, ln))
zipfile.BadZipFile: Corrupt extra field 6568 (size=27756)
----
altendky@lt:~/twisted$ sha256sum 36.zip
0f54bd6ab84facfeefc2c38f12c30eb84101b3be3d91f8826f6fa36e73b86cb6 36.zip
----
altendky@lt:~/twisted$ sha256sum 37.zip
0f54bd6ab84facfeefc2c38f12c30eb84101b3be3d91f8826f6fa36e73b86cb6 37.zip |
|
Date |
User |
Action |
Args |
2018-09-07 14:41:59 | altendky | set | recipients:
+ altendky |
2018-09-07 14:41:59 | altendky | set | messageid: <1536331319.28.0.56676864532.issue34606@psf.upfronthosting.co.za> |
2018-09-07 14:41:59 | altendky | link | issue34606 messages |
2018-09-07 14:41:58 | altendky | create | |
|