llvm-undname: Fix crash on invalid name in a template parameter pointer to member arg

Found by oss-fuzz.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358234 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nico Weber
2019-04-11 22:23:35 +00:00
parent 0cd628a5aa
commit 0907e8aafa
2 changed files with 7 additions and 0 deletions
+2
View File
@@ -2139,6 +2139,8 @@ Demangler::demangleTemplateParameterList(StringView &MangledName) {
SymbolNode *S = nullptr;
if (MangledName.startsWith('?')) {
S = parse(MangledName);
if (Error)
return nullptr;
memorizeIdentifier(S->Name->getUnqualifiedIdentifier());
}
+5
View File
@@ -94,3 +94,8 @@
; CHECK-EMPTY:
; CHECK-NEXT: ??8@8
; CHECK-NEXT: error: Invalid mangled name
?B@?$?K$H?
; CHECK-EMPTY:
; CHECK-NEXT: ?B@?$?K$H?
; CHECK-NEXT: error: Invalid mangled name