summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj/ELFDumper.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-09-21 19:17:18 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-09-21 19:17:18 +0000
commit8055ed0c127e96cc0d008b4560ce8c6c45af8885 (patch)
tree1a5a9a67bf296f2d753cdd7157fef743cbb81fa0 /llvm/tools/llvm-readobj/ELFDumper.cpp
parent98a98cffb62b5e90bf11deceb968d2ce1dd7a4b9 (diff)
downloadbcm5719-llvm-8055ed0c127e96cc0d008b4560ce8c6c45af8885.tar.gz
bcm5719-llvm-8055ed0c127e96cc0d008b4560ce8c6c45af8885.zip
Avoid SEGFAULT if a requested symbol section is absent.
Patch by Igor Kudrin! llvm-svn: 248194
Diffstat (limited to 'llvm/tools/llvm-readobj/ELFDumper.cpp')
-rw-r--r--llvm/tools/llvm-readobj/ELFDumper.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp
index 31e200e436c..99311634403 100644
--- a/llvm/tools/llvm-readobj/ELFDumper.cpp
+++ b/llvm/tools/llvm-readobj/ELFDumper.cpp
@@ -1152,6 +1152,8 @@ void ELFDumper<ELFT>::printRelocation(Elf_Rela Rel, const Elf_Shdr *SymTab) {
template<class ELFT>
void ELFDumper<ELFT>::printSymbolsHelper(bool IsDynamic) {
const Elf_Shdr *Symtab = (IsDynamic) ? DotDynSymSec : DotSymtabSec;
+ if (!Symtab)
+ return;
ErrorOr<StringRef> StrTableOrErr = Obj->getStringTableForSymtab(*Symtab);
error(StrTableOrErr.getError());
StringRef StrTable = *StrTableOrErr;
OpenPOWER on IntegriCloud