diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-03-28 16:31:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-28 16:31:40 +0200 |
commit | 0ad0999caf32c04110390fef838b01d14474cd3c (patch) | |
tree | ebefa9fc63d124b92c96255b4e390f3870a57782 | |
parent | 879d5a562f8103c0821110c65e999ebda67b5896 (diff) | |
parent | faffaeb91a79e3d137d4b6ef7e29fd42e59f77d1 (diff) |
Merge pull request #21854 from vespa-engine/vekterli/do-not-create-string-from-nullptr
Don't attempt to create a string from nullptr if demangling fails
-rw-r--r-- | vespalib/src/vespa/vespalib/util/classname.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/vespalib/src/vespa/vespalib/util/classname.cpp b/vespalib/src/vespa/vespalib/util/classname.cpp index f1dd9de6686..8e9fa6b7041 100644 --- a/vespalib/src/vespa/vespalib/util/classname.cpp +++ b/vespalib/src/vespa/vespalib/util/classname.cpp @@ -8,7 +8,10 @@ namespace vespalib { string demangle(const char * native) { int status = 0; size_t size = 0; - char *unmangled = abi::__cxa_demangle(native, 0, &size, &status); + char *unmangled = abi::__cxa_demangle(native, nullptr, &size, &status); + if (unmangled == nullptr) { + return ""; // Demangling failed for some reason. TODO return `native` instead? + } string result(unmangled); free(unmangled); return result; |