]> granicus.if.org Git - python/commit
Fix a nasty endcase reported by Armin Rigo in SF bug 618623:
authorGuido van Rossum <guido@python.org>
Fri, 11 Oct 2002 00:43:48 +0000 (00:43 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 11 Oct 2002 00:43:48 +0000 (00:43 +0000)
commit049cd6b563892b64edd606cfdf36c5d0f30b7b16
treea4a1c761bbb6117dabc2a6e673b534e812f21088
parentf689b88e11535443f72e67eea43db9aa944699e1
Fix a nasty endcase reported by Armin Rigo in SF bug 618623:
'%2147483647d' % -123 segfaults.  This was because an integer overflow
in a comparison caused the string resize to be skipped.  After fixing
the overflow, this could call _PyString_Resize() with a negative size,
so I (1) test for that and raise MemoryError instead; (2) also added a
test for negative newsize to _PyString_Resize(), raising SystemError
as for all bad arguments.

An identical bug existed in unicodeobject.c, of course.

Will backport to 2.2.2.
Objects/stringobject.c
Objects/unicodeobject.c