zloyrobot created this revision. zloyrobot added reviewers: amccarth, thakis. zloyrobot added a project: LLDB. Herald added subscribers: llvm-commits, lldb-commits, erik.pilkington, hiraditya. Herald added a project: LLVM.
All callers of Demangler::parseTagUniqueName check 'Demangler.Error' and assume that 'Error is false' means 'return value is not null' Repository: rLLDB LLDB https://reviews.llvm.org/D60963 Files: llvm/lib/Demangle/MicrosoftDemangle.cpp Index: llvm/lib/Demangle/MicrosoftDemangle.cpp =================================================================== --- llvm/lib/Demangle/MicrosoftDemangle.cpp +++ llvm/lib/Demangle/MicrosoftDemangle.cpp @@ -735,11 +735,15 @@ } TagTypeNode *Demangler::parseTagUniqueName(StringView &MangledName) { - if (!MangledName.consumeFront(".?A")) + if (!MangledName.consumeFront(".?A")) { + Error = true; return nullptr; + } MangledName.consumeFront(".?A"); - if (MangledName.empty()) + if (MangledName.empty()) { + Error = true; return nullptr; + } return demangleClassType(MangledName); }
Index: llvm/lib/Demangle/MicrosoftDemangle.cpp =================================================================== --- llvm/lib/Demangle/MicrosoftDemangle.cpp +++ llvm/lib/Demangle/MicrosoftDemangle.cpp @@ -735,11 +735,15 @@ } TagTypeNode *Demangler::parseTagUniqueName(StringView &MangledName) { - if (!MangledName.consumeFront(".?A")) + if (!MangledName.consumeFront(".?A")) { + Error = true; return nullptr; + } MangledName.consumeFront(".?A"); - if (MangledName.empty()) + if (MangledName.empty()) { + Error = true; return nullptr; + } return demangleClassType(MangledName); }
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits