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++) {