[Python-Dev] RE: [Zope-Coders] core dump in Zope 2.7 test suite (original) (raw)
Tim Peters tim.one at comcast.net
Tue Sep 16 16:46:31 EDT 2003
- Previous message: [Python-Dev] RE: [Zope-Coders] core dump in Zope 2.7 test suite
- Next message: [Python-Dev] RE: [Zope-Coders] core dump in Zope 2.7 test suite
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[Martin v. Löwis]
... I agree with Tim that, in no case, resize should be called for a garbage string - only valid strings (i.e. with truly allocated memory) should ever be resized.
unicode->str pointed to properly allocated memory in the failing cases, but to uninitialized allocated memory. So str[0] was just some random collection of bits from the heap, and checking
random bits < 256
wasn't enough to weed out the cases where the random bits happened to look like a negative integer. For Jeremy, str[0] was 0xcbcbcbcb (for me it was 0xcbcb), and using that as an index blew up.
...
[Tim]
Or is there an implicit assumption that PyUNICODE is always an unsigned type (in which case, why isn't the literal 256U?
[Martin]
Likely, the author of the code was subconsciously assuming so. However, that assumption is invalid, and sharing should only happen for ordinals in range(256).
I've since patched Jeremy's patch to try to live with that Py_UNICODE may be a signed type too.
- Previous message: [Python-Dev] RE: [Zope-Coders] core dump in Zope 2.7 test suite
- Next message: [Python-Dev] RE: [Zope-Coders] core dump in Zope 2.7 test suite
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]