This is the mail archive of the
mailing list for the Cygwin project.
Re: cygwin 1.3.17-1 gethostbyname() leak
- From: Igor Pechtchanski <pechtcha at cs dot nyu dot edu>
- To: cygwin at cygwin dot com
- Date: Tue, 10 Dec 2002 11:55:09 -0500 (EST)
- Subject: Re: cygwin 1.3.17-1 gethostbyname() leak
- Reply-to: cygwin at cygwin dot com
On Tue, 10 Dec 2002, Corinna Vinschen wrote:
> On Tue, Dec 10, 2002 at 10:36:04AM -0500, Igor Pechtchanski wrote:
> > On Tue, 10 Dec 2002, Noel Gordon wrote:
> > > Anyone else confirm that the following program compiled under
> > > gcc 3.2, cygwin 1.3.17-1, on Win2k leaks memory?
> Confirmed. I found the missing free().
> > >From http://www.opengroup.org/onlinepubs/007904975/functions/gethostbyaddr.html :
> > The gethostbyaddr() and gethostbyname() functions *may* return
> > pointers to static data, which may be overwritten by subsequent
> > calls to any of these functions.
> > The "may" above (emphasis is mine) means that the implementation is free
> > to malloc a data structure and require the user to free it. Since you
> > don't free the returned data structure in your program, it's quite
> > possible that there's a leak. Also, Cygwin uses the gethostbyname from
> > wsock32.dll, which may have different implementations on different
> > systems. Thus, your best bet is to look up gethostbyname on MSDN for
> > implementation details.
> Ignore MSDN. It's using an internal per-thread buffer which collides with
> the fork/exec mechanism of Cygwin so Cygwin duplicates the buffer to
> another Cygwin-thread specific allocated buffer. The deallocation of
> the buffer is Cygwin internal so hands off please.
> Thanks for the report, I've checked in a patch,
Umm, note to self: always browse *all* of the relevant code before
expressing opinions on the cygwin list!
Apologies to all for the misinformation. I've found the gethostbyname
entry in autoload.cc and did not look further. Had I paid more attention,
I would have noticed the cygwin_gethostbyname() in net.cc, which is the
actual implementation and does what Corinna said.
|\ _,,,---,,_ email@example.com
ZZZzz /,`.-'`' -. ;-;;,_ firstname.lastname@example.org
|,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
"Water molecules expand as they grow warmer" (C) Popular Science, Oct'02, p.51
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html