Mailing-List: contact cygwin-developers-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT cygwin DOT com Delivered-To: mailing list cygwin-developers AT cygwin DOT com Date: Wed, 13 Nov 2002 23:31:53 -0500 From: Christopher Faylor To: cygwin-developers AT cygwin DOT com Subject: Re: dll_list::detach() can stackdump Message-ID: <20021114043153.GA8734@redhat.com> Reply-To: cygwin-developers AT cygwin DOT com Mail-Followup-To: cygwin-developers AT cygwin DOT com References: <20021107171831 DOT GA1752 AT tishler DOT net> <20021112145848 DOT GF792 AT tishler DOT net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20021112145848.GF792@tishler.net> User-Agent: Mutt/1.5.1i On Tue, Nov 12, 2002 at 09:58:48AM -0500, Jason Tishler wrote: >Although, the following patch: > > http://cygwin.com/ml/cygwin-patches/2002-q4/msg00103.html > >fixes the problem for newly built DLLs, it does not (and cannot) correct >old (i.e., previously built) DLLs. > >What is the best way to solve this issue? Should dll_list::detach() be >changed to call IsBadReadPtr() to prevent stackdumps? I think I have rewritten dll_list::detach to avoid the reliance on a passed-in pointer so that the above patch is no longer necessary. I tried it with a simple test case and it seemed to work ok. I didn't try it with a fork() case, though. Can you confirm that this fixes your problem? Thanks for tracking this down so thoroughly, btw. cgf