New submission from pablo sacristan:

There is an integer overflow because python doesn't check the length as it does 
with bytearray() and it still goes on, so by doing something like:
>>> import array
>>> float(array.array("L",b"a"*0xFFFFFFFFFFFFFFF+100000**8000000000))
It returns:
Python(2179,0x7fff7ad6a000) malloc: *** mach_vm_map(size=1152921504606851072) 
failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug

And then it just crashes
Or you can skip the error and just do:
>>> import array
>>> float(array.array("L",b"a"*0xFFFFFFFFFFFFFFF**10000000000**80000000000000000))

That will just make python freeze until you restart it, which is as good as 
crashed.
The file would be:
import array
float(array.array("L",b"a"*0xFFFFFFFFFFFFFFF**10000000000**80000000000000000))

Hope it helps ;)

----------
messages: 270700
nosy: pabstersac
priority: normal
severity: normal
status: open
title: Integer Overflow Crash On float(array.array())
versions: Python 3.5, Python 3.6

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27547>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to