From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28040 invoked by alias); 25 Feb 2019 20:55:53 -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 27109 invoked by uid 89); 25 Feb 2019 20:55:53 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: smtp.polymtl.ca Received: from smtp.polymtl.ca (HELO smtp.polymtl.ca) (132.207.4.11) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 25 Feb 2019 20:55:52 +0000 Received: from simark.ca (simark.ca [158.69.221.121]) (authenticated bits=0) by smtp.polymtl.ca (8.14.7/8.14.7) with ESMTP id x1PKtj35030619 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 25 Feb 2019 15:55:50 -0500 Received: by simark.ca (Postfix, from userid 112) id 54E411E658; Mon, 25 Feb 2019 15:55:45 -0500 (EST) Received: from simark.ca (localhost [127.0.0.1]) by simark.ca (Postfix) with ESMTP id 23E501E16B; Mon, 25 Feb 2019 15:55:44 -0500 (EST) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Mon, 25 Feb 2019 20:55:00 -0000 From: Simon Marchi To: Jordan Rupprecht Cc: gdb-patches@sourceware.org, Eric Christopher , David Blaikie , dje@google.com Subject: Re: [PATCH] [dwarf2read] Fix crash when loading dwp files: calculate num_sections based on actual section indices, not just the number of sections. In-Reply-To: References: <439bf4f6859a539472a2e51a028b9503@polymtl.ca> <20190225201715.144927-1-rupprecht@google.com> Message-ID: <1b6df15638153631ea87fa1bc7c24dd2@polymtl.ca> X-Sender: simon.marchi@polymtl.ca User-Agent: Roundcube Webmail/1.3.6 X-IsSubscribed: yes X-SW-Source: 2019-02/txt/msg00422.txt.bz2 On 2019-02-25 15:21, Jordan Rupprecht wrote: > Sorry, patch somehow didn't make it in the previous message. Including > it manually: > > --- > gdb/ChangeLog | 6 ++++++ > gdb/dwarf2read.c | 3 +-- > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/gdb/ChangeLog b/gdb/ChangeLog > index 118f17588a..c2340e694c 100644 > --- a/gdb/ChangeLog > +++ b/gdb/ChangeLog > @@ -1,3 +1,9 @@ > +2019-02-25 Jordan Rupprecht > + > + * dwarf2read.c (open_and_init_dwp_file): Call > + elf_numsections instead of bfd_count_sections to initialize > + dwp_file->num_sections. > + > 2019-02-25 Tom Tromey > > * solib-darwin.c (darwin_get_dyld_bfd): Don't release dyld_bfd. > diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c > index 98f46e0416..2908a233fe 100644 > --- a/gdb/dwarf2read.c > +++ b/gdb/dwarf2read.c > @@ -13230,8 +13230,7 @@ open_and_init_dwp_file (struct > dwarf2_per_objfile *dwarf2_per_objfile) > std::unique_ptr dwp_file > (new struct dwp_file (name, std::move (dbfd))); > > - /* +1: section 0 is unused */ > - dwp_file->num_sections = bfd_count_sections (dwp_file->dbfd) + 1; > + dwp_file->num_sections = elf_numsections (dwp_file->dbfd); > dwp_file->elf_sections = > OBSTACK_CALLOC (&objfile->objfile_obstack, > dwp_file->num_sections, asection *); > -- > 2.21.0.rc0.258.g878e2cd30e-goog I have tweaked the original commit message a bit and pushed. Thanks again for the patch. Simon