mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2026-07-19 23:24:47 -04:00
llvm-undname: Fix another crash-on-invalid
This fixes a regression from https://reviews.llvm.org/D60354. We used to SymbolNode *Symbol = demangleEncodedSymbol(MangledName, QN); if (Symbol) { Symbol->Name = QN; } but changed that to SymbolNode *Symbol = demangleEncodedSymbol(MangledName, QN); if (Error) return nullptr; Symbol->Name = QN; and one branch somewhere returned a nullptr without setting Error. Looking at the code changed in r340083 and r340710 that branch looks like a remnant from an earlier attempt to demangle RTTI descriptors that has since been rewritten -- so just remove this branch. It shouldn't change behavior for correctly mangled symbols. llvm-svn: 358112
This commit is contained in:
@@ -696,8 +696,6 @@ SymbolNode *Demangler::demangleEncodedSymbol(StringView &MangledName,
|
||||
StorageClass SC = demangleVariableStorageClass(MangledName);
|
||||
return demangleVariableEncoding(MangledName, SC);
|
||||
}
|
||||
case '8':
|
||||
return nullptr;
|
||||
}
|
||||
FunctionSymbolNode *FSN = demangleFunctionEncoding(MangledName);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user