From patchwork Fri Feb 21 06:35:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ruslan Kabatsayev X-Patchwork-Id: 38264 Received: (qmail 8321 invoked by alias); 21 Feb 2020 06:36:02 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 8312 invoked by uid 89); 21 Feb 2020 06:36:01 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.6 required=5.0 tests=BAYES_00, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.1 spammy=2162, HX-Languages-Length:1061 X-HELO: mail-lj1-f196.google.com Received: from mail-lj1-f196.google.com (HELO mail-lj1-f196.google.com) (209.85.208.196) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 21 Feb 2020 06:36:00 +0000 Received: by mail-lj1-f196.google.com with SMTP id h23so1000898ljc.8 for ; Thu, 20 Feb 2020 22:35:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=hmLIUmk5yJZzCLwBQNEXmbQ1+9l/0Vs9HJ5RX7tFjmY=; b=JI9BiAfcuo786fVDO1SpaE57LWhx7iqSx5LZyk+3MlJkAeE7qpDqzeLEawcQailxsb zvRvXZi2bhvzJ/+5DMJefBObAvC4YtMeZF4hPzdvhAxWy7IfQpO5iaQm7+8AKVdqGA9C QyA0CNJ/jwHRm1dBSBvPCKfBXgsJwmfJ+SrNdE078VNTTT1MnOYdH89WUgPN7ULIhfl9 XiwR+tXo8fm1t4aDl/o9YkPaEarfYsqzRPoevdq5x0SdKEYAbcxnxnygwO+8JxGWZ1dz JtwigtgMaStclO0ekOyDzPQBAQdeVp/h9p7lvbw9kmWov//MVZ2zRr4u+k1VtRMvqq+G 4lIg== Return-Path: Received: from localhost.localdomain ([146.120.66.91]) by smtp.gmail.com with ESMTPSA id t21sm992942ljh.14.2020.02.20.22.35.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 20 Feb 2020 22:35:56 -0800 (PST) From: Ruslan Kabatsayev To: gdb-patches@sourceware.org Cc: Tom Tromey , Ruslan Kabatsayev Subject: [PATCH] Fix null pointer dereference Date: Fri, 21 Feb 2020 09:35:40 +0300 Message-Id: <20200221063540.20270-1-b7.10110111@gmail.com> X-IsSubscribed: yes This restores the check that demangle is non-null, that was removed (inadvertently, I suppose) by commit 43816ebc335481c99808c4fdfffb9ea3f510b19a. gdb/ChangeLog 2020-02-21 Ruslan Kabatsayev * dwarf2/read.c (dwarf2_name): Fix null pointer dereference --- gdb/dwarf2/read.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index f998fe6b8d0..1fd5f55a534 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -21752,11 +21752,12 @@ dwarf2_name (struct die_info *die, struct dwarf2_cu *cu) /* Avoid demangling DW_STRING (attr) the second time on a second call for the same DIE. */ + gdb::unique_xmalloc_ptr demangled; if (!DW_STRING_IS_CANONICAL (attr)) - { - gdb::unique_xmalloc_ptr demangled - (gdb_demangle (DW_STRING (attr), DMGL_TYPES)); + demangled.reset (gdb_demangle (DW_STRING (attr), DMGL_TYPES)); + if (demangled) + { const char *base; /* FIXME: we already did this for the partial symbol... */