[llvm] r357649 - llvm-undname: Fix a crash-on-invalid
Nico Weber via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 3 16:27:19 PDT 2019
Author: nico
Date: Wed Apr 3 16:27:18 2019
New Revision: 357649
URL: http://llvm.org/viewvc/llvm-project?rev=357649&view=rev
Log:
llvm-undname: Fix a crash-on-invalid
Found by oss-fuzz, fixes issue 13260 on oss-fuzz.
Differential Revision: https://reviews.llvm.org/D60207
Modified:
llvm/trunk/lib/Demangle/MicrosoftDemangle.cpp
llvm/trunk/test/Demangle/invalid-manglings.test
Modified: llvm/trunk/lib/Demangle/MicrosoftDemangle.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Demangle/MicrosoftDemangle.cpp?rev=357649&r1=357648&r2=357649&view=diff
==============================================================================
--- llvm/trunk/lib/Demangle/MicrosoftDemangle.cpp (original)
+++ llvm/trunk/lib/Demangle/MicrosoftDemangle.cpp Wed Apr 3 16:27:18 2019
@@ -1949,7 +1949,7 @@ ArrayTypeNode *Demangler::demangleArrayT
for (uint64_t I = 0; I < Rank; ++I) {
uint64_t D = 0;
std::tie(D, IsNegative) = demangleNumber(MangledName);
- if (IsNegative) {
+ if (Error || IsNegative) {
Error = true;
return nullptr;
}
Modified: llvm/trunk/test/Demangle/invalid-manglings.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Demangle/invalid-manglings.test?rev=357649&r1=357648&r2=357649&view=diff
==============================================================================
--- llvm/trunk/test/Demangle/invalid-manglings.test (original)
+++ llvm/trunk/test/Demangle/invalid-manglings.test Wed Apr 3 16:27:18 2019
@@ -24,3 +24,8 @@
; CHECK-EMPTY:
; CHECK-NEXT: ??0@
; CHECK-NEXT: error: Invalid mangled name
+
+? @@ YC@
+; CHECK-EMPTY:
+; CHECK-NEXT: ? @@ YC@
+; CHECK-NEXT: error: Invalid mangled name
More information about the llvm-commits
mailing list