mirror of
https://github.com/RPCS3/llvm.git
synced 2026-07-19 23:23:38 -04:00
llvm-undname: Fix oss-fuzz-foudn crash-on-invalid with incomplete special table nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358367 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -276,6 +276,10 @@ Demangler::demangleSpecialTableSymbolNode(StringView &MangledName,
|
||||
SpecialTableSymbolNode *STSN = Arena.alloc<SpecialTableSymbolNode>();
|
||||
STSN->Name = QN;
|
||||
bool IsMember = false;
|
||||
if (MangledName.empty()) {
|
||||
Error = true;
|
||||
return nullptr;
|
||||
}
|
||||
char Front = MangledName.popFront();
|
||||
if (Front != '6' && Front != '7') {
|
||||
Error = true;
|
||||
|
||||
@@ -119,3 +119,13 @@
|
||||
; CHECK-EMPTY:
|
||||
; CHECK-NEXT: ?foo@?$?_
|
||||
; CHECK-NEXT: error: Invalid mangled name
|
||||
|
||||
??_R4
|
||||
; CHECK-EMPTY:
|
||||
; CHECK-NEXT: ??_R4
|
||||
; CHECK-NEXT: error: Invalid mangled name
|
||||
|
||||
??_R4foo@@
|
||||
; CHECK-EMPTY:
|
||||
; CHECK-NEXT: ??_R4foo@@
|
||||
; CHECK-NEXT: error: Invalid mangled name
|
||||
|
||||
Reference in New Issue
Block a user