summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ObjectFile
diff options
context:
space:
mode:
authorTamas Berghammer <tberghammer@google.com>2016-07-22 10:43:03 +0000
committerTamas Berghammer <tberghammer@google.com>2016-07-22 10:43:03 +0000
commit0576ad6d35e59ec49d934841abbd45ffb6ed5866 (patch)
tree87e62d47d997501d9784595f441bbc092693c40a /lldb/source/Plugins/ObjectFile
parentaea8b553e3b75601f02629d1433672fbdd72cd7e (diff)
downloadbcm5719-llvm-0576ad6d35e59ec49d934841abbd45ffb6ed5866.tar.gz
bcm5719-llvm-0576ad6d35e59ec49d934841abbd45ffb6ed5866.zip
Fix a crash when an ELF section symbol have no name
llvm-svn: 276403
Diffstat (limited to 'lldb/source/Plugins/ObjectFile')
-rw-r--r--lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
index a60daa2b9c5..fc43c460156 100644
--- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
+++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
@@ -2211,10 +2211,12 @@ ObjectFileELF::ParseSymbols (Symtab *symtab,
break;
const char *symbol_name = strtab_data.PeekCStr(symbol.st_name);
+ if (!symbol_name)
+ symbol_name = "";
// No need to add non-section symbols that have no names
if (symbol.getType() != STT_SECTION &&
- (symbol_name == NULL || symbol_name[0] == '\0'))
+ (symbol_name == nullptr || symbol_name[0] == '\0'))
continue;
// Skipping oatdata and oatexec sections if it is requested. See details above the
@@ -2461,7 +2463,7 @@ ObjectFileELF::ParseSymbols (Symtab *symtab,
bool is_global = symbol.getBinding() == STB_GLOBAL;
uint32_t flags = symbol.st_other << 8 | symbol.st_info | additional_flags;
- bool is_mangled = symbol_name ? (symbol_name[0] == '_' && symbol_name[1] == 'Z') : false;
+ bool is_mangled = (symbol_name[0] == '_' && symbol_name[1] == 'Z');
llvm::StringRef symbol_ref(symbol_name);
OpenPOWER on IntegriCloud