[Python-checkins] [Python-Dev] Changing string constants to byte arrays ( 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-checkins mailing list