From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) by sourceware.org (Postfix) with ESMTPS id 2C8AB3857C48 for ; Wed, 2 Sep 2020 18:00:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 2C8AB3857C48 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=gmx.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=n54@gmx.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1599069610; bh=aItpUtFYBNuWNEKGFPlIRZChdaGM6zVWWJe6bMAynak=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=HvVXvuxsqolPFuYvwzrdE+5LT5lskuG1o5LxnkVjCV5cYgfUk/xX0Sqg/tDEK4/Q9 7QlCsr+lm19nf7qEa+Nkl6OS0/ma3TrhzYOaf1rz0h33eVRnr9eQqheLOIRe94DJbO CiixOfUB1AWf7kL+R8jCi2uMf0DKoLfVRQtemc38= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([89.79.191.25]) by mail.gmx.com (mrgmx104 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MRCKC-1jz8wA2xIS-00N86Z; Wed, 02 Sep 2020 20:00:10 +0200 From: Kamil Rytarowski To: gdb-patches@sourceware.org Subject: [PATCH 08/10] Avoid double free in startup_inferior Date: Wed, 2 Sep 2020 19:59:24 +0200 Message-Id: <20200902175926.13182-9-n54@gmx.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200902175926.13182-1-n54@gmx.com> References: <20200902175926.13182-1-n54@gmx.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:rxFdhTofLwEebWN/6unXkWtDStL0rGALLKO2Yh7O3quzsO9HLzX JV+sPk8KtOfwR9bM1r3ESIkOpOmnaRWtfQaQG+IvgoUEF4f2/VfmIFmVxe3HMlsHL2xqKNJ PNZqrsAeiBghjiW8bcdMnuvFbt4cKPqFVXK/Ja8rHfEY7a3S/H2CrQQTHVd/OklVmmxbF4q Gz6IQPl7PdlYG/nOEGjtA== X-UI-Out-Filterresults: notjunk:1;V03:K0:LkRe7oARHYQ=:1iIgNkrQY7x8aSkJBshc+Q Ex7I9PJhN1V+m+SV+iRWN/jjrcukOByfZT56INYgtpcRhrsJCoUOl/zLCOMA02zrrDggkeu7H 2v5mvD270ttyjNsSbyge7LkdeaEuAI6cjFUEKOKaexPXAXZ2Nc2Z8Kcjf3CPwIDS7fmieOamR mdlKSR8pyHZXeAL+DP0TKZMqWKAobvvKgRn5iC5M5vRMFKxJwjFbH3OasOkZHchm+SwrjC9R+ XVIgG56/uOUn5bEinlR3D6R7cVeknswdsNyCIRx3caimKDPC7NsG+JjGfrV6qBRjA+tTAiUp2 Uh3RsnNd8b8Yil24oG0hoIsEwSScfh0JROjveQjlshBkhfmiOk/2FpM50t2DWBALtUcARAPSg Pszh9DkjGV/ekbXl5dwX+Vz+7EHY5O3wlhY21EQn3OiLguW45/2DUaKKJ5YM/bLKRpuNzwYsg 06fTg5uSto5KbbT1dM974hq+RIPVGsg54fouLDFYengVU1jDMW6QsvnrA1HeYoiu3sciLikFj m7oll82SGZ9/+mk5Z1BJldVv/EjAaYx4pj7HthbXbTTooCko1NY8nuXadCdu5gaDUmIg9Xw5m EW7Z52ZFOpK6POMpCJO2stx0Gd7BZh5AvGt0NjzVxb1Wyk8adVlwQpPFetfhfGhGltgj/BzJ7 JzIfXI5rnm7lrIRcWw0T125asUtpiNtZAcTEoUp26zMKzWcr9jot+3GUtuT6dTSA7jDeEtMvU lcR5GhA1cMSl6nlfjh/E/21jDkpsohOeX48QLJJAERFxE7rcGzlQujiPvmT+S5kp+rk4+x83k GwuPNRuloH9dND9eES5U+yupoFjwAYiksbPQsenTo6vjMK+ku+1XHoEA2scgiIcNXKwK21RWh gfvRB0F3vH3u5wwGfYMdfEeJIP59YX+BtZm4uvKdM5CHujxrwaZJ30dLxdfU0xKMl7qWm1H7V cyZU7zzVmJDUE7/Ua1f5fPvuJcyMvJHmTS/ZTsywfQyCwisHWSao/L3SydHk4nPRWUCOdr8JY AGcRD51jYZpM/R/KeBWun8pRe2yvGng9tBz++a11/RUNPlVj0KPbHpt6dpgkhfEoxKn2uNfmp Uxo9xvidGCnf8bie8jVMzHH60juVEo4Y44pzmT0sTE7Mu4sCBFW1TDlGcipWGNggzUR5YPwhB rAOMPfyFwhhSfDDtUwBBPHfH0G7N15r/O+Inut74NDiG9x2TljEuOoN2qzW6wjQdH25K78Ykv s+zrHKsULdVmAjhOB X-Spam-Status: No, score=-17.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2020 18:00:14 -0000 Do not free the last execd pathname as it will be used in prepare_resume_reply(), after attaching a client side. gdb/ChangeLog: * fork-inferior.c (startup_inferior): Avoid double free. =2D-- gdb/ChangeLog | 4 ++++ gdb/nat/fork-inferior.c | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1dcf5d0ca81..c57504a6ceb 100644 =2D-- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2020-08-13 Kamil Rytarowski + + * fork-inferior.c (startup_inferior): Avoid double free. + 2020-08-13 Kamil Rytarowski * netbsd-nat.h (netbsd_nat::qxfer_siginfo): Add. diff --git a/gdb/nat/fork-inferior.c b/gdb/nat/fork-inferior.c index 1185ef8998b..94ab0b9cbc2 100644 =2D-- a/gdb/nat/fork-inferior.c +++ b/gdb/nat/fork-inferior.c @@ -526,7 +526,10 @@ startup_inferior (process_stratum_target *proc_target= , pid_t pid, int ntraps, case TARGET_WAITKIND_EXECD: /* Handle EXEC signals as if they were SIGTRAP signals. */ - xfree (ws.value.execd_pathname); + /* Do not free the last execd pathname as it will be used in + prepare_resume_reply(), after attaching a client side. */ + if (pending_execs !=3D 1) + xfree (ws.value.execd_pathname); resume_signal =3D GDB_SIGNAL_TRAP; switch_to_thread (proc_target, event_ptid); break; =2D- 2.28.0