Mailing-List: contact cygwin-help@sourceware.cygnus.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@sources.redhat.com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin@sources.redhat.com>
List-Help: <mailto:cygwin-help@sources.redhat.com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner@sources.redhat.com
Delivered-To: mailing list cygwin@sources.redhat.com
X-Envelope-Sender-Is: Andrej.Borsenkow@mow.siemens.ru (at relayer goliath.siemens.de)
From: "Andrej Borsenkow" <Andrej.Borsenkow@mow.siemens.ru>
To: "cygwin" <cygwin@sources.redhat.com>
Cc: <Cygwin@Sourceware.Cygnus.Com>
Subject: RE: memory leak in setenv()?
Date: Tue, 25 Jul 2000 14:37:22 +0400
Message-ID: <001501bff624$50c24df0$21c9ca95@mow.siemens.ru>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0)
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
Importance: Normal
In-reply-to: <397D6B99.77361071@cygnus.com>



> -----Original Message-----
> From: corinna@snoopy.vinschen.de
> [mailto:corinna@snoopy.vinschen.de]On Behalf Of Corinna Vinschen
> Sent: Tuesday, July 25, 2000 2:28 PM
> To: Andrej Borsenkow
> Cc: Cygwin@Sourceware.Cygnus.Com
> Subject: Re: memory leak in setenv()?
>
>
> Andrej Borsenkow wrote:
> >
> > If existing value is longer than new, old value is simply
> overwritten.
> > But if old value is shorter, new memory chunk is allocated
> via malloc(),
> > but old one is never freed. Initially all environment strings are
> > allocated using strdup() in environ_init(), so who is
> responsible for
> > freeing unused memory in this case?
>
> Nobody in case of setenv() and unsetenv(). It's a known problem
> of the environment implementation that freeing environment
> variables is not easy. The library can't decide if a string is
> currently in use by the application.
>

Agreed. I just thought, that if Cygwin (in putenv()/setenv()) allocates
memory itself (see another mail), it should also be responsible for
freeing it. If putenv() ever will be modified to not allocate new
memory, then current behaviour is correct.

cheers

-andrej


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

