This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author amaury.forgeotdarc
Recipients Rhamphoryncus, amaury.forgeotdarc, bupjae, ezio.melotti, lemburg, vstinner
Date 2009-10-05.11:09:32
SpamBayes Score 6.4152474e-08
Marked as misclassified No
Message-id <1254740974.88.0.268460461251.issue5127@psf.upfronthosting.co.za>
In-reply-to
Content
> we should make sure that it's not possible to load an extension
> compiled with 3.1 in 3.2 to prevent segfaults and buffer overruns.

This is the case with this patch: today all these functions
(_PyUnicode_IsAlpha, _PyUnicode_ToLowercase) are actually #defines to
_PyUnicodeUCS2_* or _PyUnicodeUCS4_*.
The patch removes the #defines: 3.1 modules that call
_PyUnicodeUCS4_IsAlpha wouldn't load into a 3.2 interpreter.

> The change affects the Unicode type database which is implemented
> in unicodectype.c, not the Unicode database, which already uses UCS4.

Are you referring to the _PyUnicode_TypeRecord structure?
The first three fields only contains values up to 65535, so they could
use "unsigned short" even for UCS4 builds.
All the other uses are precisely changed by the patch...
History
Date User Action Args
2009-10-05 11:09:35amaury.forgeotdarcsetrecipients: + amaury.forgeotdarc, lemburg, Rhamphoryncus, vstinner, ezio.melotti, bupjae
2009-10-05 11:09:34amaury.forgeotdarcsetmessageid: <1254740974.88.0.268460461251.issue5127@psf.upfronthosting.co.za>
2009-10-05 11:09:33amaury.forgeotdarclinkissue5127 messages
2009-10-05 11:09:32amaury.forgeotdarccreate