]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
Close #19568: Fix bytearray_setslice_linear(), fix handling of
authorVictor Stinner <victor.stinner@gmail.com>
Thu, 21 Nov 2013 11:29:51 +0000 (12:29 +0100)
committerVictor Stinner <victor.stinner@gmail.com>
Thu, 21 Nov 2013 11:29:51 +0000 (12:29 +0100)
commit8455723cfb0cdb0fc8d908210fa21b63b9d09a2b
tree6737c78cb32d1de8f37d1fb6109088b704b37ea2
parent35f2803a2454231de6c0c29e91a819c847e4da18
Close #19568: Fix bytearray_setslice_linear(), fix handling of
PyByteArray_Resize() failure: leave the bytearray object in an consistent state.

If growth < 0, handling the memory allocation failure is tricky here because
the bytearray object has already been modified.  If lo != 0, the operation is
completed, but a MemoryError is still raised and the memory block is not
shrinked. If lo == 0, the bytearray is restored in its previous state and a
MemoryError is raised.
Objects/bytearrayobject.c