From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.kundenserver.de (mout.kundenserver.de [217.72.192.73]) by sourceware.org (Postfix) with ESMTPS id 981923858D3C for ; Mon, 17 Jan 2022 15:47:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 981923858D3C Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=cygwin.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=cygwin.com Received: from calimero.vinschen.de ([24.134.7.25]) by mrelayeu.kundenserver.de (mreue107 [212.227.15.183]) with ESMTPSA (Nemesis) id 1N1PLB-1mCJqC25Bz-012ppw for ; Mon, 17 Jan 2022 16:47:39 +0100 Received: by calimero.vinschen.de (Postfix, from userid 500) id F237AA807AA; Mon, 17 Jan 2022 16:47:35 +0100 (CET) Date: Mon, 17 Jan 2022 16:47:35 +0100 From: Corinna Vinschen To: cygwin@cygwin.com Subject: Re: Segmentation fault due to double free for archetype. Message-ID: Reply-To: cygwin@cygwin.com Mail-Followup-To: cygwin@cygwin.com References: <20220115192030.de26356820d839eec3227e70@nifty.ne.jp> <20220117204131.b1b3e221874af6804791ccec@nifty.ne.jp> <20220117214801.1f0d9bef92224cac51b6d806@nifty.ne.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20220117214801.1f0d9bef92224cac51b6d806@nifty.ne.jp> X-Provags-ID: V03:K1:f4IySGuQza40o4EHZU6xJ4/BjhmDoCLAI9R7hxUgGbtzFO53HNi XiwzNJvuFo6XNq0MCmTkGtZOREd1xzfo6B+leo5rvfnLp9v0qZXG4s0jzeLjcrO/J10OO/b OIlDW2B8PMLQP0y0FFaQlXNLxkRzMDsfvEr9UZsrcxl4T3pBOZVL1w1TriAmKgWzcQHF+TG HuLJZhmPCiQgPnsIJuECQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:2elRyOhDEzA=:V12/Jq7HJd1JaArv4iAvCD ibbgwJU/24WGhEkx00BTv/s9fuwOxUCoOq1qdKBymsAKqh26Sc7AkzCPPchSJLp0jXQHluWWn 2KdtXke4YsdJoCKM5ZO4kg8nZHO2D/RVlAOq1I/QEhVl5ddp7V8kyRmT/evHp8ua5KysRHQ19 zXU6tWAT8gz+ZhxOaVOHXDDCbGej+is8LU6fEaw68uNhAhZQ0EtqGACykhrw1YkO08d+dc+AO W7d3JzE2Tl9sD+EkHyNfcUW1mY2lk2aki2T09+58/76RUS2wWLRYCjgkCwuiyt5YDogxsnonU t5oGFk4o+vqvLy6PX9kzBI4gUgYiCKYHG2RXxtHSzm8FUTCtiryic+0nElPCkf962WdQCKqs9 9SnksbKSX9QvzZy3NZFH1vdCqBjlzRyEePg+nN/I0yS/nHByNCwv0ni+xQ1CiLj4D79ze4mEu zhdtvad1GVLHYir/nP6AZIW3xxFoZG1IOta0q+Mi/i8zUfQUqWUTlpalVI9mdcwl6PJG2Ijss 3wuvf3+dd6pXHQPPRYU8Xig8szY3MtSuBDx26nJ/mTxLj842myF45GXkgr2HPMqWGThXiss+6 RWUPkAQmm3INemktJzWlY31lDq2hWkRJnqYiEMffyh/iCaKGq+IvCPbx4j/9rAJB3GXp0RAAn 8oeSGNz+e075jITkb/emaDVww0a/iGhrGNK5ljGdowOpCB7sO6vsv3RYH+yp68MHKc/P0ZBaI QZ5eBN6NoTxA/huN X-Spam-Status: No, score=-96.2 required=5.0 tests=BAYES_00, GOOD_FROM_CORINNA_CYGWIN, KAM_DMARC_NONE, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_FAIL, SPF_HELO_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jan 2022 15:47:43 -0000 On Jan 17 21:48, Takashi Yano wrote: > On Mon, 17 Jan 2022 13:11:46 +0100 > Corinna Vinschen wrote: > > if (!(res = (archetype && archetype->io_handle) > > || open (flags, mode & 07777))) > > > > Then the archetype is one already created by a former open_with_arch > > call and then you delete an archetype which is still in use, no? > > archetype->usecount is not incremented yet here. > archetype->usecount is incremented only when this 'if' clause > is not true. So, isn't the following code right? > > if (!(res = (archetype && archetype->io_handle) > || open (flags, mode & 07777))) > { > if (archetype && archetype->usecount == 0) > cygheap->fdtab.delete_archetype (archetype); > } Good point, yes, that sounds right to me. Thanks, Corinna