Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Tue, 10 Dec 2002 17:36:45 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: cygwin 1.3.17-1 gethostbyname() leak Message-ID: <20021210173645.D26891@cygbert.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <01a001c2a029$0d9950d0$3492fea9 AT NOELG> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.3.22.1i 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, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Developer mailto:cygwin AT cygwin DOT com Red Hat, Inc. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/