X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 58A863858030 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1642434529; bh=PibnueCe0sb8dCKHOpRFa9h4joDENabF15DFHoo/klM=; h=Date:From:To:Subject:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: Reply-To:From; b=NuxrdRCoSJiwoxdz6FxVVFe4KrdsYUeCJHXKM0md0tR+kl6RQ+rHbTIUDDh7zPUOK UIRQcp72p/aKUJ1R3duoMumlqqS9UwayjIg6D3ZE1YL4GoRdrni2QeAORzXPUV64Bz GQNjFBTvjUqTvYlGPjlrZbH41I1UBUvVGHHpPPVo= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com 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 Date: Mon, 17 Jan 2022 16:47:35 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: Segmentation fault due to double free for archetype. Message-ID: Mail-Followup-To: cygwin AT cygwin DOT com References: <20220115192030 DOT de26356820d839eec3227e70 AT nifty DOT ne DOT jp> <20220117204131 DOT b1b3e221874af6804791ccec AT nifty DOT ne DOT jp> <20220117214801 DOT 1f0d9bef92224cac51b6d806 AT nifty DOT ne DOT jp> MIME-Version: 1.0 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 AT cygwin DOT 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: , Reply-To: cygwin AT cygwin DOT com Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" 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 -- 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