[PATCH] D60354: llvm-undname: Fix more crashes and asserts on invalid inputs

Zachary Turner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 8 11:55:46 PDT 2019


zturner added inline comments.


================
Comment at: llvm/lib/Demangle/MicrosoftDemangle.cpp:722-724
+  if (Symbol) {
+    Symbol->Name = QN;
+  }
----------------
How about
```
if (Error)
  return nullptr;

assert(Symbol);
Symbol->Name = QN;
```


================
Comment at: llvm/lib/Demangle/MicrosoftDemangle.cpp:1955
+  // Safe because this is only called if isMemberPointer() returns true, which
+  // guarantess there's at least one more character after the qualifiers.
   if (MangledName.consumeFront("8")) {
----------------
s/guarantess/guarantees/

That said, I would just change this to:

```
// isMemberPointer() only returns true if there is at least one character after the qualifiers.
assert(!MangledName.empty());
```


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D60354/new/

https://reviews.llvm.org/D60354





More information about the llvm-commits mailing list