zaporna malokace

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Úterý Září 7 11:18:22 CEST 1999


On Tue, 7 Sep 1999, Michal Stekrt wrote:

> mohl by nekdo objasnit, proc mi pod Linuxem funkce
> malloc (-1) naprosto ochotne "prideli" pamet ?
> Vrati mi pointer a vypada to, ze si zabere 16 adres.
> Podle vseho by si malloc() mel prevest -1 na 0xffffffff 
> a vratit potom (void*)0 (pokud tolik pameti nemam :-) ). 

Hele...on to jeste nikdo neopravil... :)

Jde o to, ze malloc() jakymsi zpusobem zaokrouhluje velikost alokovaneho
bloku, pricemz v jednom bode pri moc velke velikosti (ktera se znamenkove 
jevi jako zaporna...obcas by nebylo od veci provadet behove kontroly pri
konverzi typu, ze ano?) zazmatkuje a udela z toho konstantu 16 (ten kod
je tusim neco jako "(long)velikost < 16 ? 16 : blabla").

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux