From 495dd92c70d1eeb6c46af0377ecffae6c0aed8d8 Mon Sep 17 00:00:00 2001 From: Michael Jeanson Date: Mon, 27 Feb 2023 15:16:03 -0500 Subject: [PATCH] port: fix -Wdeprecated-declarations warning about sprintf on macOS clang 14 Remove uses of sprintf to fix this warning: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations] Change-Id: I69dff6379623aefcfd60d6ad1ad96b48ae637155 Signed-off-by: Michael Jeanson Signed-off-by: Simon Marchi Reviewed-on: https://review.lttng.org/c/babeltrace/+/9592 Tested-by: jenkins --- src/common/common.c | 2 +- src/common/uuid.c | 2 +- .../common/metadata/visitor-generate-ir.cpp | 19 +++---------------- .../fs-sink/translate-trace-ir-to-ctf-ir.cpp | 11 +++++------ src/plugins/utils/trimmer/trimmer.c | 2 +- 5 files changed, 11 insertions(+), 25 deletions(-) diff --git a/src/common/common.c b/src/common/common.c index c82bee33..aca73e5f 100644 --- a/src/common/common.c +++ b/src/common/common.c @@ -2041,7 +2041,7 @@ int bt_common_g_string_append_printf(GString *str, const char *fmt, ...) /* Resize. */ g_string_set_size(str, len + print_len); va_start(ap, fmt); - print_len = vsprintf(str->str + len, fmt, ap); + print_len = vsnprintf(str->str + len, print_len + 1, fmt, ap); va_end(ap); } else { str->len = len + print_len; diff --git a/src/common/uuid.c b/src/common/uuid.c index a0af2bc0..b2457602 100644 --- a/src/common/uuid.c +++ b/src/common/uuid.c @@ -57,7 +57,7 @@ void bt_uuid_to_str(const bt_uuid_t uuid_in, char *str_out) BT_ASSERT_DBG(uuid_in); BT_ASSERT_DBG(str_out); - sprintf(str_out, BT_UUID_FMT, BT_UUID_FMT_VALUES(uuid_in)); + snprintf(str_out, BT_UUID_STR_LEN + 1, BT_UUID_FMT, BT_UUID_FMT_VALUES(uuid_in)); } BT_HIDDEN diff --git a/src/plugins/ctf/common/metadata/visitor-generate-ir.cpp b/src/plugins/ctf/common/metadata/visitor-generate-ir.cpp index 50d8d441..a55cbc37 100644 --- a/src/plugins/ctf/common/metadata/visitor-generate-ir.cpp +++ b/src/plugins/ctf/common/metadata/visitor-generate-ir.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include "common/common.h" #include "common/uuid.h" #include "compat/endian.h" @@ -265,23 +266,9 @@ end: static GQuark get_prefixed_named_quark(struct ctf_visitor_generate_ir *ctx, char prefix, const char *name) { - GQuark qname = 0; - BT_ASSERT(name); - - /* Prefix character + original string + '\0' */ - char *prname = g_new(char, strlen(name) + 2); - if (!prname) { - _BT_COMP_OR_COMP_CLASS_LOGE_APPEND_CAUSE("Failed to allocate a string."); - goto end; - } - - sprintf(prname, "%c%s", prefix, name); - qname = g_quark_from_string(prname); - g_free(prname); - -end: - return qname; + std::string prname = std::string {prefix} + name; + return g_quark_from_string(prname.c_str()); } /** diff --git a/src/plugins/ctf/fs-sink/translate-trace-ir-to-ctf-ir.cpp b/src/plugins/ctf/fs-sink/translate-trace-ir-to-ctf-ir.cpp index d7ff260f..ec7e566d 100644 --- a/src/plugins/ctf/fs-sink/translate-trace-ir-to-ctf-ir.cpp +++ b/src/plugins/ctf/fs-sink/translate-trace-ir-to-ctf-ir.cpp @@ -18,6 +18,7 @@ #include #include #include +#include #include #include "fs-sink.hpp" @@ -1562,17 +1563,15 @@ end: static void make_unique_default_clock_class_name(struct fs_sink_ctf_stream_class *sc) { unsigned int suffix = 0; - char buf[16]; - g_string_assign(sc->default_clock_class_name, ""); - sprintf(buf, "default"); + std::string name = "default"; - while (default_clock_class_name_exists(sc->trace, buf)) { - sprintf(buf, "default%u", suffix); + while (default_clock_class_name_exists(sc->trace, name.c_str())) { + name = "default" + std::to_string(suffix); suffix++; } - g_string_assign(sc->default_clock_class_name, buf); + g_string_assign(sc->default_clock_class_name, name.c_str()); } static int translate_stream_class(struct fs_sink_comp *fs_sink, struct fs_sink_ctf_trace *trace, diff --git a/src/plugins/utils/trimmer/trimmer.c b/src/plugins/utils/trimmer/trimmer.c index a65b2ecc..68230d5e 100644 --- a/src/plugins/utils/trimmer/trimmer.c +++ b/src/plugins/utils/trimmer/trimmer.c @@ -440,7 +440,7 @@ int set_bound_from_param(struct trimmer_comp *trimmer_comp, * Just convert it to a temporary string to handle * everything the same way. */ - sprintf(tmp_arg, "%" PRId64, value); + snprintf(tmp_arg, sizeof(tmp_arg), "%" PRId64, value); arg = tmp_arg; } else { BT_ASSERT(bt_value_is_string(param)); -- 2.34.1