DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 4AJIsg0O3246960
Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com
Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 4AJIsg0O3246960
Authentication-Results: delorie.com;
	dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=gLy3M9+4
X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1DFAE3858C31
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1732042478;
	bh=MxpymMBGXQrQqzyYekXroRj7mWnD2Ytq3y2bHNYEU9E=;
	h=Date:To:Subject:References:In-Reply-To:List-Id:List-Unsubscribe:
	 List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:
	 From;
	b=gLy3M9+4C6vytFQB1xeW9S3x+xcIr8P0+aaW2sDK7vx1+X54EV+R4b89Xqmtce2I9
	 3PQk1Ytzsp4Nv3MUQB3gnD+1OjUoj6oNe3E2L6/iuV2jsNViMPtmbBLLXyzVaAXMOn
	 F+YzczvIhx1eb42OeOXqQ1k9R6k/s6JFANUQgJnk=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
Date: Tue, 19 Nov 2024 19:53:21 +0100
To: cygwin@cygwin.com
Subject: Re: Possible issue with check_dir_not_empty
Message-ID: <Zzzeoabjx7hoJ6GM@calimero.vinschen.de>
Mail-Followup-To: cygwin@cygwin.com
References: <9f95d44b-2a46-4da8-9177-fc9b60a6d18e@mailbox.org>
 <Zztwu6p77XC19HwJ@calimero.vinschen.de>
 <309f90e4-d7e9-495c-955b-ee264ad74159@mailbox.org>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <309f90e4-d7e9-495c-955b-ee264ad74159@mailbox.org>
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.30
Precedence: list
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
From: Corinna Vinschen via Cygwin <cygwin@cygwin.com>
Reply-To: cygwin@cygwin.com
Cc: Corinna Vinschen <corinna-cygwin@cygwin.com>
Content-Type: text/plain; charset="utf-8"
Errors-To: cygwin-bounces~archive-cygwin=delorie.com@cygwin.com
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie.com@cygwin.com>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 4AJIsg0O3246960

Hi Bernhard,

On Nov 18 22:32, Bernhard Übelacker via Cygwin wrote:
> Hello Corinna,
> 
> Am 18.11.24 um 17:52 schrieb Corinna Vinschen:
> > Hi Bernhard,
> > 
> > On Nov 16 23:36, Bernhard Übelacker via Cygwin wrote:
> > > Hello everyone,
> > > 
> > > Is is about the buffer allocated in check_dir_not_empty.
> > > 
> > > The pointer pfni gets allocated the buffer at the begin,
> > > and is used in the NtQueryDirectoryFile call before the loops.
> > > In the loop the pointer pfni is also used as iterator.
> > > Therefore it holds no longer the initial buffer at the call
> > > to NtQueryDirectoryFile in the while conditition at the bottom.
> > 
> > Good catch, thank you!
> 
> Forgot to mention the background. I actually hit this issue with running
> Cygwin's git.exe below a modified Wine checking out the tag 3.5.3 of
> newlib-cygwin. Unfortunately reproducing this issue still needs a few
> additional Wine patches to finish Cygwin installation.
> 
> 
> > > Attached is a possible modification to always use the allocated buffer.
> > > 
> > > Kind regards,
> > > Bernhard
> > 
> > Thanks for the patch.
> > 
> > Would you be ok if I apply a simplified version under your authorship?
> > 
> > Rather than add a pfni_it(erator), use pfni as iterator and add a
> > pfni_buf variable.  This is a much smaller patch, and is more in line
> > with the usual variable naming in Cygwin.
> > 
> > I also added a release message text and a Fixes: line to the commit
> > message.
> > 
> > Below is the tweaked patch.  If you're ok with this version, I'll push
> > it.
> 
> 
> That would be great. Thanks for maintaining Cygwin.

Thanks for the patch!  I pushed it this morning.


Corinna

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

