Skip to content

Commit d03d98b

Browse files
committed
[lldb] Replace sprintf with snprintf (NFC)
On macOS, `sprintf` is deprecated, using `snprintf` is recommended instead. Differential Revision: https://reviews.llvm.org/D147246
1 parent bec96f6 commit d03d98b

File tree

3 files changed

+10
-9
lines changed

3 files changed

+10
-9
lines changed

lldb/source/Core/SourceManager.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,8 @@ size_t SourceManager::DisplaySourceLinesWithLineNumbersUsingLastFile(
205205
}
206206

207207
char buffer[3];
208-
sprintf(buffer, "%2.2s", (line == curr_line) ? current_line_cstr : "");
208+
snprintf(buffer, sizeof(buffer), "%2.2s",
209+
(line == curr_line) ? current_line_cstr : "");
209210
std::string current_line_highlight(buffer);
210211

211212
auto debugger_sp = m_debugger_wp.lock();

lldb/source/DataFormatters/StringPrinter.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,11 +154,11 @@ DecodedCharBuffer GetPrintableImpl<StringElementType::ASCII>(
154154
switch (escape_style) {
155155
case StringPrinter::EscapeStyle::CXX:
156156
// Prints 4 characters, then a \0 terminator.
157-
escaped_len = sprintf((char *)data, "\\x%02x", *buffer);
157+
escaped_len = snprintf((char *)data, max_buffer_size, "\\x%02x", *buffer);
158158
break;
159159
case StringPrinter::EscapeStyle::Swift:
160160
// Prints up to 6 characters, then a \0 terminator.
161-
escaped_len = sprintf((char *)data, "\\u{%x}", *buffer);
161+
escaped_len = snprintf((char *)data, max_buffer_size, "\\u{%x}", *buffer);
162162
break;
163163
}
164164
lldbassert(escaped_len > 0 && "unknown string escape style");
@@ -201,11 +201,11 @@ DecodedCharBuffer GetPrintableImpl<StringElementType::UTF8>(
201201
switch (escape_style) {
202202
case StringPrinter::EscapeStyle::CXX:
203203
// Prints 10 characters, then a \0 terminator.
204-
escaped_len = sprintf((char *)data, "\\U%08x", codepoint);
204+
escaped_len = snprintf((char *)data, max_buffer_size, "\\U%08x", codepoint);
205205
break;
206206
case StringPrinter::EscapeStyle::Swift:
207207
// Prints up to 12 characters, then a \0 terminator.
208-
escaped_len = sprintf((char *)data, "\\u{%x}", codepoint);
208+
escaped_len = snprintf((char *)data, max_buffer_size, "\\u{%x}", codepoint);
209209
break;
210210
}
211211
lldbassert(escaped_len > 0 && "unknown string escape style");

lldb/source/Host/macosx/objcxx/Host.mm

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -719,12 +719,12 @@ static void PackageXPCArguments(xpc_object_t message, const char *prefix,
719719
const Args &args) {
720720
size_t count = args.GetArgumentCount();
721721
char buf[50]; // long enough for 'argXXX'
722-
memset(buf, 0, 50);
723-
sprintf(buf, "%sCount", prefix);
722+
memset(buf, 0, sizeof(buf));
723+
snprintf(buf, sizeof(buf), "%sCount", prefix);
724724
xpc_dictionary_set_int64(message, buf, count);
725725
for (size_t i = 0; i < count; i++) {
726-
memset(buf, 0, 50);
727-
sprintf(buf, "%s%zi", prefix, i);
726+
memset(buf, 0, sizeof(buf));
727+
snprintf(buf, sizeof(buf), "%s%zi", prefix, i);
728728
xpc_dictionary_set_string(message, buf, args.GetArgumentAtIndex(i));
729729
}
730730
}

0 commit comments

Comments
 (0)