[New-bugs-announce] [issue31602] assertion failure in zipimporter.get_source() in case of a bad zlib.decompress()
Oren Milman
report at bugs.python.org
Wed Sep 27 02:24:51 EDT 2017
New submission from Oren Milman <orenmn at gmail.com>:
The following code causes an assertion failure (in case there exists a
compressed zip file named 'foo.zip' with a file called 'bar.py' in it):
import zlib
import zipimport
def bad_decompress(*args):
return None
zlib.decompress = bad_decompress
zipimport.zipimporter('foo.zip').get_source('bar')
This is because get_data() (in Modules/zipimport.c) assumes that
zlib.decompress() returned a bytes object, and returns it.
zipimport_zipimporter_get_source_impl() assumes that get_data() returned a
bytes object, and passes it to PyBytes_AS_STRING(), which asserts it is a bytes
object.
----------
components: Extension Modules
messages: 303100
nosy: Oren Milman
priority: normal
severity: normal
status: open
title: assertion failure in zipimporter.get_source() in case of a bad zlib.decompress()
type: crash
versions: Python 3.7
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue31602>
_______________________________________
More information about the New-bugs-announce
mailing list