[Python-Dev] Changing string constants to byte arrays ([Python-checkins] r55119 - in python/branches/py3k-struni/Lib: codecs.py test/test_codecs.py)
M.-A. Lemburg
mal at egenix.com
Fri May 4 19:38:56 CEST 2007
On 2007-05-04 18:53, Georg Brandl wrote:
> M.-A. Lemburg schrieb:
>> Hi Walter,
>>
>> if the bytes type does turn out to be a mutable type as suggested
>> in PEP 358, then please make sure that no code (C code in
>> particular), relies on the constantness of these byte objects.
>>
>> This is especially important when it comes to codecs, since
>> the error callback logic would allow the callback to manipulate
>> the byte object contents and length without the codec taking
>> note of this change.
>>
>> I expect there to be other places in the interpreter which would
>> break as well.
>>
>> Otherwise, you end up opening the door for segfaults and
>> easy DOS attacks on Python3.
>
> If the user does not need to change these bytes objects and this is needed
> in more places, adding an "immutable" flag for "internal" bytes objects
> only settable from C, or even an immutable byte base class might be an idea.
+1
I also suggest making all bytes literals immutable to avoid running
into any issues like the above.
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source (#1, May 04 2007)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
:::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! ::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
More information about the Python-Dev
mailing list