X-Recipient: archive-cygwin@delorie.com
X-Spam-Check-By: sourceware.org
Date: Mon, 18 Aug 2008 10:11:42 -0400
From: Christopher Faylor <cgf-use-the-mailinglist-please@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: Bug in cygcheck (1.7)
Message-ID: <20080818141142.GA32164@ednor.casa.cgf.cx>
Reply-To: cygwin@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
References: <48A787F0.408@cwilson.fastmail.fm> <48A8188E.4030203@elite-systems.org> <20080817165425.GA3708@ednor.casa.cgf.cx> <48A85BA5.20501@cwilson.fastmail.fm> <48A8E552.3070803@cwilson.fastmail.fm> <20080818032220.GA28914@ednor.casa.cgf.cx> <48A8F8A7.8080805@cwilson.fastmail.fm> <20080818133930.GK21040@calimero.vinschen.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20080818133930.GK21040@calimero.vinschen.de>
User-Agent: Mutt/1.5.16 (2007-06-09)
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
Precedence: bulk
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie.com@cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

On Mon, Aug 18, 2008 at 03:39:30PM +0200, Corinna Vinschen wrote:
>So it's the FreeLibrary call which triggers the problem.  What I don't
>understand so far is, why it does.

Does this have any effect?

cgf

Index: cygcheck.cc
===================================================================
RCS file: /cvs/uberbaum/winsup/utils/cygcheck.cc,v
retrieving revision 1.103
diff -d -u -p -r1.103 cygcheck.cc
--- cygcheck.cc	17 Aug 2008 17:15:41 -0000	1.103
+++ cygcheck.cc	18 Aug 2008 14:11:15 -0000
@@ -2003,7 +2003,7 @@ void
 nuke (char *ev)
 {
   int n = 1 + strchr (ev, '=') - ev;
-  char *s = (char *) alloca (n + 1);
+  char *s = (char *) malloc (n + 1);
   memcpy (s, ev, n);
   s[n] = '\0';
   putenv (s);
@@ -2051,7 +2051,7 @@ load_cygwin (int& argc, char **&argv)
 	    }
 	  for (char **ev = envp; *ev; ev++)
 	    if (strncmp (*ev, "PATH=", 5) != 0)
-	     putenv (*ev);
+	      putenv (strdup (*ev));
 	  if (path)
 	    putenv (path);
 	}

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

