Avoid uninitialized memory leak in absl::Symbolize() PiperOrigin-RevId: 947077349 Change-Id: Ib295da3a4c3fc7ed4535449199e4988a55e04fda
diff --git a/absl/debugging/symbolize_darwin.inc b/absl/debugging/symbolize_darwin.inc index cf63d19..d214481 100644 --- a/absl/debugging/symbolize_darwin.inc +++ b/absl/debugging/symbolize_darwin.inc
@@ -77,11 +77,8 @@ char tmp_buf[1024]; if (debugging_internal::Demangle(symbol.c_str(), tmp_buf, sizeof(tmp_buf))) { - size_t len = strlen(tmp_buf); - if (len + 1 <= static_cast<size_t>(out_size)) { // +1 for '\0' - assert(len < sizeof(tmp_buf)); - memmove(out, tmp_buf, len + 1); - } + strncpy(out, tmp_buf, + std::min(static_cast<size_t>(out_size), std::size(tmp_buf))); } else { strncpy(out, symbol.c_str(), static_cast<size_t>(out_size)); }