summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-03-28 16:31:40 +0200
committerGitHub <noreply@github.com>2022-03-28 16:31:40 +0200
commit0ad0999caf32c04110390fef838b01d14474cd3c (patch)
treeebefa9fc63d124b92c96255b4e390f3870a57782
parent879d5a562f8103c0821110c65e999ebda67b5896 (diff)
parentfaffaeb91a79e3d137d4b6ef7e29fd42e59f77d1 (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.cpp5
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;