From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 115001 invoked by alias); 25 Jan 2018 13:41:00 -0000 Mailing-List: contact elfutils-devel-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: elfutils-devel-owner@sourceware.org Received: (qmail 114089 invoked by uid 89); 25 Jan 2018 13:40:59 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.99.2 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_LAZY_DOMAIN_SECURITY autolearn=ham version=3.3.2 spammy= X-Spam-Status: No, score=-25.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_LAZY_DOMAIN_SECURITY autolearn=ham version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: X-HELO: gnu.wildebeest.org Received: from wildebeest.demon.nl (HELO gnu.wildebeest.org) (212.238.236.112) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 25 Jan 2018 13:40:58 +0000 Received: from tarox.wildebeest.org (tarox.wildebeest.org [172.31.17.39]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by gnu.wildebeest.org (Postfix) with ESMTPSA id 95BF5300073F; Thu, 25 Jan 2018 14:40:56 +0100 (CET) Received: by tarox.wildebeest.org (Postfix, from userid 1000) id 885DA4000B15; Thu, 25 Jan 2018 14:40:56 +0100 (CET) From: Mark Wielaard To: elfutils-devel@sourceware.org Cc: Mark Wielaard Subject: [COMMITTED] tests: Check symtabshdr instead of symtabndx in elfstrmerge.c. Date: Thu, 25 Jan 2018 13:41:00 -0000 Message-Id: <1516887649-21906-1-git-send-email-mark@klomp.org> X-Mailer: git-send-email 1.8.3.1 X-Spam-Flag: NO X-IsSubscribed: yes X-SW-Source: 2018-q1/txt/msg00013.txt.bz2 Some gcc omptimization levels (-Og in particular) didn't see that when symtabndx != 0, then symtabshdr was certain to be initialized. Change the symtabndx == 0 check to symtabshdr == NULL and initialize symtabshdr to work around that. Signed-off-by: Mark Wielaard --- tests/ChangeLog | 11 ++++++++--- tests/elfstrmerge.c | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/tests/ChangeLog b/tests/ChangeLog index 758f20e..be203ad 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,8 @@ +2018-01-25 Mark Wielaard + + * elfstrmerge.c (main): Initialize and check symtabshdr instead of + symtabndx. + 2018-01-14 Petr Machata * testfile-sizes4.o.bz2: New test file. diff --git a/tests/elfstrmerge.c b/tests/elfstrmerge.c index 8d5b53c..6924d0e 100644 --- a/tests/elfstrmerge.c +++ b/tests/elfstrmerge.c @@ -195,7 +195,7 @@ main (int argc, char **argv) size_t symtabndx = 0; Elf_Scn *symtabscn = NULL; GElf_Shdr symtabshdr_mem; - GElf_Shdr *symtabshdr; + GElf_Shdr *symtabshdr = NULL; while ((symtabscn = elf_nextscn (elf, symtabscn)) != NULL) { symtabshdr = gelf_getshdr (symtabscn, &symtabshdr_mem); @@ -210,7 +210,7 @@ main (int argc, char **argv) } } - if (symtabndx == 0) + if (symtabshdr == NULL) fail ("No symtab found", fname); if ((symtabshdr->sh_flags & SHF_ALLOC) != 0) -- 1.8.3.1