From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 81306 invoked by alias); 21 Oct 2015 11:14:43 -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 81293 invoked by uid 89); 21 Oct 2015 11:14:43 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 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; Wed, 21 Oct 2015 11:14:41 +0000 Received: from svr-orw-fem-04.mgc.mentorg.com ([147.34.97.41]) by relay1.mentorg.com with esmtp id 1ZorLq-0002Vw-Hz from Luis_Gustavo@mentor.com ; Wed, 21 Oct 2015 04:14:38 -0700 Received: from [172.30.15.53] (147.34.91.1) by svr-orw-fem-04.mgc.mentorg.com (147.34.97.41) with Microsoft SMTP Server id 14.3.224.2; Wed, 21 Oct 2015 04:14:37 -0700 Reply-To: Luis Machado Subject: Re: [PATCH] Do not pass NULL for the string in catch_errors References: <1441809933-9612-1-git-send-email-lgustavo@codesourcery.com> <55F182B1.4020404@redhat.com> To: Pedro Alves , From: Luis Machado Message-ID: <5627739A.2090401@codesourcery.com> Date: Wed, 21 Oct 2015 11:19:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <55F182B1.4020404@redhat.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2015-10/txt/msg00397.txt.bz2 On 09/10/2015 10:16 AM, Pedro Alves wrote: > On 09/09/2015 03:45 PM, Luis Machado wrote: >> I caught a segmentation fault while running gdb.reverse/sigall-reverse.exp, >> in a mingw32 GDB, in this code path. It boils down to the code trying to >> strlen () a NULL pointer. I tracked things down and it looks like >> record_full_message_wrapper_safe is the only occurrence. >> >> We could also change catch_errors to check the char pointer and pass the >> empty string automatically if the pointer is NULL. Then again, it seems like >> catch_errors is going away at any time now, being potentially replaced >> with catch_exceptions. > > It's been marked superseded for years. If you had fixed this by > converting this one instance, we'd be a little closer. ;-) > Well, we shouldn't rush! :-) Seriously, i've been looking into this and it doesn't look like catch_exceptions/catch_exceptions_with_msg is something we'll want to use in the long run either. Those couple functions also do not directly replace catch_errors. I thought about replacing the remaining catch_errors occurrences with TRY/CATCH/END_CATCH blocks, which sounds better aligned with what we want to do in the future - migrating to C++ etc. Then we can finally get rid of catch_errors and a few useless wrappers. How does that sound? Luis