From patchwork Tue Aug 8 13:49:46 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Lindsay X-Patchwork-Id: 21978 Received: (qmail 2237 invoked by alias); 8 Aug 2017 13:50:21 -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 118458 invoked by uid 89); 8 Aug 2017 13:50:06 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.1 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, RCVD_IN_SORBS_SPAM, SPF_PASS autolearn=ham version=3.3.2 spammy=H*m:gmail X-HELO: mail-io0-f193.google.com Received: from mail-io0-f193.google.com (HELO mail-io0-f193.google.com) (209.85.223.193) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 08 Aug 2017 13:50:01 +0000 Received: by mail-io0-f193.google.com with SMTP id q64so2562582ioi.0 for ; Tue, 08 Aug 2017 06:50:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=xkN9/gQALDcj2krWRD98flwb8u1ta+5nrVUIu7XgDv8=; b=tnT6R/0JoikQa64mFLWn3ipSMoeu9LWnhxi74+JhYvRwJRQN3l/1bWbXPxE+XKO+Bl QiDtNmrdduIxUIGaxEv7ngwbFtUpYwCjvDeUh7NgLLNIthDLdfrxHkHX9JTpzO/5I/9s pazog+kaXgF54HLJlDAiTPG9yX6TY6YAafxutB33ozu4wEjdsoVVexIx2gfJy03L5BgT ngBANmskOPyFWXEI3RovgvcB8S+ZNT+339rB8zTF2t1S2N5sxn2udMZTCRhMGc3e8Hxq O4zSi1TqtfLvv15gJ3tv0ABNuAdpUEnpZQMrC83KoUuOv/HW7yy+IZZPQWVeJqVS5Wxf Uvpg== X-Gm-Message-State: AHYfb5hMclSbaT+5gjOZFBeph8y5Ba0GNuVeBtXZnchISkbBQ8HkGtHT j2AqBdCjFwFcdwAf X-Received: by 10.107.51.75 with SMTP id z72mr3437711ioz.169.1502200199510; Tue, 08 Aug 2017 06:49:59 -0700 (PDT) Received: from localhost.localdomain ([128.174.163.204]) by smtp.gmail.com with ESMTPSA id c11sm709879iof.74.2017.08.08.06.49.58 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 08 Aug 2017 06:49:58 -0700 (PDT) From: Alex Lindsay To: gdb-patches@sourceware.org Subject: [PATCH] Free synthsyms and member names in function elf_read_minimal_symbols. Date: Tue, 8 Aug 2017 08:49:46 -0500 Message-Id: <20170808134946.9701-1-alexlindsay239@gmail.com> X-IsSubscribed: yes The memory for synthsyms and synthsyms->name is allocated in elf64-x86-64.c (elf_x86_64_get_synthetic_symtab). However, as shown by a valgrind memcheck, this memory is not freed before synthsyms goes off the stack at the termination of elf_read_minimal_symbols. This patch fixes that leak. --- gdb/ChangeLog | 5 +++++ gdb/elfread.c | 3 +++ 2 files changed, 8 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 92c573d76b..3246fea02c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2017-08-08 Alex Lindsay + + * elfread.c (elf_read_minimal_symbols): Free synthsyms->name and + synthsyms + 2017-08-03 Tom Tromey * utils.c (make_cleanup_freeargv, do_freeargv, gdb_buildargv): diff --git a/gdb/elfread.c b/gdb/elfread.c index ece704ca7c..5ed8a6f957 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -1144,6 +1144,9 @@ elf_read_minimal_symbols (struct objfile *objfile, int symfile_flags, if (symtab_create_debug) fprintf_unfiltered (gdb_stdlog, "Done reading minimal symbols.\n"); + if (synthcount > 0) + xfree ((char *) synthsyms->name); + xfree (synthsyms); } /* Scan and build partial symbols for a symbol file.