zodpovednost za uvolneni pameti po volani gethostbyname, getpwuid...

Jirka Kosina jikos na jikos.cz
Úterý Prosinec 3 11:07:26 CET 2002


On Tue, 3 Dec 2002, Karel Zak wrote:

> > > Nikde jsem se nedocetl kdo je zodpovedny za uvolneni pameti alokovane za
> > > pomoci volani gethostbyname() a dalsich obdobnych funkci ktere vraci
> > > pointer na strukturu nebo NULL v pripade neuspechu. Koukam do vypisu z
> > > mpatrol a zustava mi tam neco vyset. Musim nebo nesmim tu pamet uvolnit
> > > ja.
> > Kupodivu to myslim v manualove strance fakt neni, ale je to v dokumentaci 
>  Asi cteme ruzny manual:
>  The  functions gethostbyname() and gethostbyaddr() may return
>  pointers to static data, which may be overwritten by later calls.
>  Copying the struct hostent  does not suffice, since it contains
>  pointers - a deep copy is required.

Ano, evidentne cteme ruzny manual. V manualove strance na RH 7.1 to neni, 
kdyz ted koukam na RH 7.3 & 8.0, tak tam je presne ten text, co jste 
pastnul. 

Kazdopadne v info libc je to za vsech okolnosti, a casto podrobneji, a to 
jsem se snazil napsat v predchozich prispevcichc.

>  Glibc2 also has reentrant versions  gethostbyname_r()
>                  ^^^^^^^^^^
>  Prenositelnost toho reseni je uz jina debata :-)

O tom vim, ale na to se nikdo neptal ;)

-- 
JiKos.




Další informace o konferenci Linux