Skip to content

Commit dd4f368

Browse files
mkruskal-googlecopybara-github
authored andcommitted
Fix misuses of __cxa_demangle length parameters
PiperOrigin-RevId: 926935330
1 parent e4ff771 commit dd4f368

1 file changed

Lines changed: 2 additions & 7 deletions

File tree

common/typeinfo.cc

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,18 +57,13 @@ std::string TypeInfo::DebugString() const {
5757
}
5858
return std::string(demangled.get());
5959
#else
60-
size_t length = 0;
6160
int status = 0;
6261
std::unique_ptr<char, FreeDeleter> demangled(
63-
abi::__cxa_demangle(rep_->name(), nullptr, &length, &status));
62+
abi::__cxa_demangle(rep_->name(), nullptr, nullptr, &status));
6463
if (status != 0 || demangled == nullptr) {
6564
return std::string(rep_->name());
6665
}
67-
while (length != 0 && demangled.get()[length - 1] == '\0') {
68-
// length includes the null terminator, remove it.
69-
--length;
70-
}
71-
return std::string(demangled.get(), length);
66+
return std::string(demangled.get());
7267
#endif
7368
#else
7469
return absl::StrCat("0x", absl::Hex(absl::bit_cast<uintptr_t>(rep_)));

0 commit comments

Comments
 (0)