QUERY · ISSUE
bytearray(length) does not validate length is >= 0
py-core
>>> bytearray(-1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
MemoryError: memory allocation failed, allocating 4294967295 bytes
This is pretty minor, since it does raise an error. CPython raises a ValueError instead:
>>> bytearray(-1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: negative count
CANDIDATE · ISSUE
bytearray extended when append has exception thrown
a = bytearray(1000)
a.append(bytearray(10))
An exception occurs here (expected behavior)
len(a)
The length has changed as a result of the exception.