[pypy-dev] [pypy-svn] r45269 - in pypy/dist/pypy/rpython/module: . tes

Christian Tismer tismer at stackless.com
Tue Jul 24 21:18:48 CEST 2007


On 24.07.2007, at 18:08, Armin Rigo wrote:

> Hi Fijal,
>
> On Mon, Jul 23, 2007 at 02:38:32PM +0200, Maciek Fijalkowski wrote:
>>        The length of the arrays in a struct utsname is  
>> unspecified; the
>> fields
>>        are terminated by a null byte (?????? ???).
>>
>> I'm completely confused.
>
> It means that the structure looks like this in lltype notation:
>
>       Struct('utsname', ('text1', FixedSizeArray(Char, 10)),
>                         ('text2', FixedSizeArray(Char, 20)),
>                         ...)
>
> where, annoyingly, the numbers '10' and '20' are platform-dependent  
> and
> must be obtained by trying to compile snippets of C code using  
> sizeof()
> and offsetof().
>
> Or are you confused about the bit saying that the fields are
> zero-terminated?  It just means that in the array, characters 0 to N-1
> are non-null, charater N is null, and the rest of the characters are
> undefined.

Which reminds us to implement this carefully and not to rely on the
terminating byte, or we will open the door to buffer overflow  
exploits :-)

ciao - chris

--
Christian Tismer             :^)   <mailto:tismer at stackless.com>
tismerysoft GmbH             :     Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9A     :    *Starship* http://starship.python.net/
14109 Berlin                 :     PGP key -> http://wwwkeys.pgp.net/
work +49 30 802 86 56  mobile +49 173 24 18 776  fax +49 30 80 90 57 05
PGP 0x57F3BF04       9064 F4E1 D754 C2FF 1619  305B C09C 5A3B 57F3 BF04
       whom do you want to sponsor today?   http://www.stackless.com/





-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pypy-dev/attachments/20070724/42748819/attachment.html>


More information about the Pypy-dev mailing list