Fix sprintf usage in base/utils.cc

sprintf is deprecated with Xcode 14.

Change-Id: I53289c7ff3e827cc2da9e08ffd6fd56fdc8c34c0
diff --git a/src/base/utils.cc b/src/base/utils.cc
index 0ec6cdf..e5b8951 100644
--- a/src/base/utils.cc
+++ b/src/base/utils.cc
@@ -21,6 +21,7 @@
 #include "perfetto/base/build_config.h"
 #include "perfetto/base/logging.h"
 #include "perfetto/ext/base/file_utils.h"
+#include "perfetto/ext/base/string_utils.h"
 
 #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) ||   \
     PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
@@ -283,9 +284,11 @@
   std::unique_ptr<char[]> line(new char[bytes_per_line * 4 + 128]);
   for (size_t i = 0; i < len; i += bytes_per_line) {
     char* wptr = line.get();
-    wptr += sprintf(wptr, "%08zX: ", i);
-    for (size_t j = i; j < i + bytes_per_line && j < len; j++)
-      wptr += sprintf(wptr, "%02X ", static_cast<unsigned>(data[j]) & 0xFF);
+    wptr += base::SprintfTrunc(wptr, 19, "%08zX: ", i);
+    for (size_t j = i; j < i + bytes_per_line && j < len; j++) {
+      wptr += base::SprintfTrunc(wptr, 4, "%02X ",
+                                 static_cast<unsigned>(data[j]) & 0xFF);
+    }
     for (size_t j = static_cast<size_t>(wptr - line.get()); j < kPadding; ++j)
       *(wptr++) = ' ';
     for (size_t j = i; j < i + bytes_per_line && j < len; j++) {