From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 66917 invoked by alias); 24 Oct 2016 22:39:58 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 66901 invoked by uid 89); 24 Oct 2016 22:39:57 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 24 Oct 2016 22:39:56 +0000 Received: from svr-orw-mbx-03.mgc.mentorg.com ([147.34.90.203]) by relay1.mentorg.com with esmtp id 1bynuM-0006nS-Ok from Luis_Gustavo@mentor.com ; Mon, 24 Oct 2016 15:39:54 -0700 Received: from [172.30.1.187] (147.34.91.1) by svr-orw-mbx-03.mgc.mentorg.com (147.34.90.203) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Mon, 24 Oct 2016 15:39:51 -0700 Reply-To: Luis Machado Subject: Re: [PATCH] Fix potential NULL pointer dereference References: <1477345938-32287-1-git-send-email-lgustavo@codesourcery.com> <9acb4532-8f30-b9d3-697a-9c9542ca1178@redhat.com> To: Pedro Alves , From: Luis Machado Message-ID: <120e608e-56bf-5664-4cfa-7c8921ccb6ff@codesourcery.com> Date: Mon, 24 Oct 2016 22:39:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: <9acb4532-8f30-b9d3-697a-9c9542ca1178@redhat.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: svr-orw-mbx-02.mgc.mentorg.com (147.34.90.202) To svr-orw-mbx-03.mgc.mentorg.com (147.34.90.203) X-IsSubscribed: yes X-SW-Source: 2016-10/txt/msg00672.txt.bz2 On 10/24/2016 05:26 PM, Pedro Alves wrote: > On 10/24/2016 10:52 PM, Luis Machado wrote: > >> diff --git a/gdb/exec.c b/gdb/exec.c >> index 67ecc63..5eeac44 100644 >> --- a/gdb/exec.c >> +++ b/gdb/exec.c >> @@ -221,13 +221,20 @@ exec_file_locate_attach (int pid, int defer_bp_reset, int from_tty) >> } >> CATCH (err, RETURN_MASK_ERROR) >> { >> + const char *msg; >> + >> if (err.message != NULL) >> - warning ("%s", err.message); >> + { >> + warning ("%s", err.message); >> + msg = err.message; >> + } >> + else >> + msg = ""; >> > > This is overcomplicating a bit, IMO. > >> prev_err = err; >> >> /* Save message so it doesn't get trashed by the catch below. */ >> - prev_err.message = xstrdup (err.message); >> + prev_err.message = xstrdup (msg); > > > I think this one liner: > > + if (err.message != NULL) > prev_err.message = xstrdup (err.message); > > would have the same effect, since exception_print_same > handles NULL ex.message? > > Thanks, > Pedro Alves > Fine by me. I'll push that change then.