On Sat, Jan 23, 2016 at 02:10:46AM -0500, Peter Olson wrote:

[cut]

> 
> I'm unhappy for two reasons:
> 
>   the failure mode of alloca is SIGSEGV or some other malfunction and there is
> no way to test for it
> 
>   the *buf &= ~0x20; breaks for UTF8 strings.
> 
> Nevermind that the function implicitly references stderr except when it 
> doesn't.
> 

On a closer look, the major problem I see here is not that *buf &=
~0x20 breaks UTF8, but instead that alloca(3) allocates space on the
stack frame of the caller, and could potentially cause a
stack-overflow... This would pass unobserved to most eyes.

I have also checked that the implementation of alloca(3) in glibc does
never return a null-pointer upon failure, thus making very possible to
stack-overflow.

Nice example :)

HND

KatolaZ

-- 
[ Enzo Nicosia aka KatolaZ --- GLUG Catania -- Freaknet Medialab ]
[ me [at] katolaz.homeunix.net -- http://katolaz.homeunix.net -- ]
[ GNU/Linux User:#325780/ICQ UIN: #258332181/GPG key ID 0B5F062F ]
[ Fingerprint: 8E59 D6AA 445E FDB4 A153 3D5A 5F20 B3AE 0B5F 062F ]
_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to