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));
   }