From: Mark Wielaard Date: Tue, 14 Jan 2014 21:14:23 +0000 (+0100) Subject: backends: aarch64_check_special_symbol check shdr is not NULL before usage. X-Git-Tag: elfutils-0.159~57 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0535e51470bb178aefce572851f8ce1c3921cc42;p=thirdparty%2Felfutils.git backends: aarch64_check_special_symbol check shdr is not NULL before usage. Signed-off-by: Mark Wielaard --- diff --git a/backends/ChangeLog b/backends/ChangeLog index 4ea1acd2b..a742eb259 100644 --- a/backends/ChangeLog +++ b/backends/ChangeLog @@ -1,3 +1,8 @@ +2014-01-14 Mark Wielaard + + * aarch64_symbol.c (aarch64_check_special_symbol): Check shdr is + not NULL before usage. + 2014-01-04 Mark Wielaard * ppc64_symbol.c (ppc64_machine_flag_check): New function. diff --git a/backends/aarch64_symbol.c b/backends/aarch64_symbol.c index e41a7a7d1..3fdc9cf8b 100644 --- a/backends/aarch64_symbol.c +++ b/backends/aarch64_symbol.c @@ -73,9 +73,12 @@ aarch64_check_special_symbol (Elf *elf, GElf_Ehdr *ehdr, const GElf_Sym *sym, { GElf_Shdr shdr_mem; GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); - sname = elf_strptr (elf, ehdr->e_shstrndx, shdr->sh_name); - if (sname != NULL && strcmp (sname, ".got") == 0) - return sym->st_value == shdr->sh_addr; + if (shdr != NULL) + { + sname = elf_strptr (elf, ehdr->e_shstrndx, shdr->sh_name); + if (sname != NULL && strcmp (sname, ".got") == 0) + return sym->st_value == shdr->sh_addr; + } } } }