diff --git a/bindings/gumjs/gumquickcore.c b/bindings/gumjs/gumquickcore.c index 3b4bf6010..aa230d5ad 100644 --- a/bindings/gumjs/gumquickcore.c +++ b/bindings/gumjs/gumquickcore.c @@ -33,6 +33,7 @@ #ifdef HAVE_PTRAUTH # include #endif +#include #define GUM_QUICK_FFI_FUNCTION_PARAMS_EMPTY { NULL, } @@ -2880,11 +2881,11 @@ GUMJS_DEFINE_FUNCTION (gumjs_int64_to_string) return _gum_quick_throw_literal (ctx, "unsupported radix"); if (radix == 10) - sprintf (str, "%" G_GINT64_FORMAT, value); + g_sprintf (str, "%" G_GINT64_FORMAT, value); else if (value >= 0) - sprintf (str, "%" G_GINT64_MODIFIER "x", value); + g_sprintf (str, "%" G_GINT64_MODIFIER "x", value); else - sprintf (str, "-%" G_GINT64_MODIFIER "x", -value); + g_sprintf (str, "-%" G_GINT64_MODIFIER "x", -value); return JS_NewString (ctx, str); } @@ -2897,7 +2898,7 @@ GUMJS_DEFINE_FUNCTION (gumjs_int64_to_json) if (!_gum_quick_int64_unwrap (ctx, this_val, core, &self)) return JS_EXCEPTION; - sprintf (str, "%" G_GINT64_FORMAT, self->value); + g_sprintf (str, "%" G_GINT64_FORMAT, self->value); return JS_NewString (ctx, str); } @@ -3036,9 +3037,9 @@ GUMJS_DEFINE_FUNCTION (gumjs_uint64_to_string) return _gum_quick_throw_literal (ctx, "unsupported radix"); if (radix == 10) - sprintf (str, "%" G_GUINT64_FORMAT, value); + g_sprintf (str, "%" G_GUINT64_FORMAT, value); else - sprintf (str, "%" G_GINT64_MODIFIER "x", value); + g_sprintf (str, "%" G_GINT64_MODIFIER "x", value); return JS_NewString (ctx, str); } @@ -3051,7 +3052,7 @@ GUMJS_DEFINE_FUNCTION (gumjs_uint64_to_json) if (!_gum_quick_uint64_unwrap (ctx, this_val, core, &self)) return JS_EXCEPTION; - sprintf (str, "%" G_GUINT64_FORMAT, self->value); + g_sprintf (str, "%" G_GUINT64_FORMAT, self->value); return JS_NewString (ctx, str); } @@ -3334,14 +3335,14 @@ GUMJS_DEFINE_FUNCTION (gumjs_native_pointer_to_string) if (radix == 10) { - sprintf (str, "%" G_GSIZE_MODIFIER "u", ptr_bits); + g_sprintf (str, "%" G_GSIZE_MODIFIER "u", ptr_bits); } else { if (radix_specified) - sprintf (str, "%" G_GSIZE_MODIFIER "x", ptr_bits); + g_sprintf (str, "%" G_GSIZE_MODIFIER "x", ptr_bits); else - sprintf (str, "0x%" G_GSIZE_MODIFIER "x", ptr_bits); + g_sprintf (str, "0x%" G_GSIZE_MODIFIER "x", ptr_bits); } return JS_NewString (ctx, str); @@ -3355,7 +3356,7 @@ GUMJS_DEFINE_FUNCTION (gumjs_native_pointer_to_json) if (!_gum_quick_native_pointer_unwrap (ctx, this_val, core, &self)) return JS_EXCEPTION; - sprintf (str, "0x%" G_GSIZE_MODIFIER "x", GPOINTER_TO_SIZE (self->value)); + g_sprintf (str, "0x%" G_GSIZE_MODIFIER "x", GPOINTER_TO_SIZE (self->value)); return JS_NewString (ctx, str); } diff --git a/bindings/gumjs/gumquickeventsink.c b/bindings/gumjs/gumquickeventsink.c index 521710246..d7d3a3b5c 100644 --- a/bindings/gumjs/gumquickeventsink.c +++ b/bindings/gumjs/gumquickeventsink.c @@ -10,6 +10,7 @@ #include "gumquickvalue.h" +#include #include #include @@ -339,7 +340,7 @@ gum_quick_js_event_sink_drain (GumQuickJSEventSink * self) g_hash_table_iter_init (&iter, frequencies); while (g_hash_table_iter_next (&iter, &target, &count)) { - sprintf (target_str, "0x%" G_GSIZE_MODIFIER "x", + g_sprintf (target_str, "0x%" G_GSIZE_MODIFIER "x", GPOINTER_TO_SIZE (target)); JS_DefinePropertyValueStr (ctx, summary, target_str, diff --git a/bindings/gumjs/gumquickstalker.c b/bindings/gumjs/gumquickstalker.c index b08cfb504..840f8157b 100644 --- a/bindings/gumjs/gumquickstalker.c +++ b/bindings/gumjs/gumquickstalker.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2023 Ole André Vadla Ravnås + * Copyright (C) 2020-2024 Ole André Vadla Ravnås * * Licence: wxWindows Library Licence, Version 3.1 */ @@ -10,6 +10,7 @@ #include "gumquickmacros.h" #include +#include #define GUM_QUICK_TYPE_TRANSFORMER (gum_quick_transformer_get_type ()) #define GUM_QUICK_TRANSFORMER_CAST(obj) ((GumQuickTransformer *) (obj)) @@ -1707,7 +1708,7 @@ gum_encode_pointer (JSContext * ctx, { gchar str[32]; - sprintf (str, "0x%" G_GSIZE_MODIFIER "x", GPOINTER_TO_SIZE (value)); + g_sprintf (str, "0x%" G_GSIZE_MODIFIER "x", GPOINTER_TO_SIZE (value)); return JS_NewString (ctx, str); } diff --git a/gum/backend-darwin/gumdarwinsymbolicator.c b/gum/backend-darwin/gumdarwinsymbolicator.c index 6bf7daf6b..3ce05e054 100644 --- a/gum/backend-darwin/gumdarwinsymbolicator.c +++ b/gum/backend-darwin/gumdarwinsymbolicator.c @@ -20,6 +20,7 @@ #include #include +#include #define kCSNull ((CSTypeRef) { NULL, NULL }) #define kCSNow G_GUINT64_CONSTANT (0x8000000000000000) @@ -387,7 +388,7 @@ gum_darwin_symbolicator_details_from_address (GumDarwinSymbolicator * self, else if (!gum_darwin_symbolicator_synthesize_details_from_address (self, address, details)) { - sprintf (details->symbol_name, "0x%zx", + g_sprintf (details->symbol_name, "0x%zx", (size_t) ((unsigned long long) details->address - CSSymbolOwnerGetBaseAddress (owner))); } @@ -578,7 +579,7 @@ gum_darwin_symbolicator_synthesize_details_from_address ( beach: if (!success && module != NULL) { - sprintf (details->symbol_name, "0x%zx (0x%zx)", + g_sprintf (details->symbol_name, "0x%zx (0x%zx)", (size_t) (address - darwin_module->base_address), (size_t) (darwin_module->preferred_address + (address - darwin_module->base_address))); diff --git a/tests/gumjs/script.c b/tests/gumjs/script.c index 717aaa51f..7711e98c2 100644 --- a/tests/gumjs/script.c +++ b/tests/gumjs/script.c @@ -1631,7 +1631,7 @@ TESTCASE (native_function_can_be_invoked_with_size_t) * https://sourceware.org/bugzilla/show_bug.cgi?id=13575 */ - sprintf (ret, "\"%" G_GSIZE_MODIFIER "u\"", (gsize) SIZE_MAX); + g_sprintf (ret, "\"%" G_GSIZE_MODIFIER "u\"", (gsize) SIZE_MAX); COMPILE_AND_LOAD_SCRIPT ( "const getSizeMax = new NativeFunction(" GUM_PTR_CONST ", 'size_t', []);" "send(getSizeMax());", @@ -1639,7 +1639,7 @@ TESTCASE (native_function_can_be_invoked_with_size_t) EXPECT_SEND_MESSAGE_WITH (ret); EXPECT_NO_MESSAGES (); - sprintf (arg, "%" G_GSIZE_MODIFIER "u", (gsize) (SIZE_MAX - 1)); + g_sprintf (arg, "%" G_GSIZE_MODIFIER "u", (gsize) (SIZE_MAX - 1)); COMPILE_AND_LOAD_SCRIPT ( "const addSize = new NativeFunction(" GUM_PTR_CONST ", 'size_t', " "['size_t']);" @@ -1648,7 +1648,7 @@ TESTCASE (native_function_can_be_invoked_with_size_t) EXPECT_SEND_MESSAGE_WITH (ret); EXPECT_NO_MESSAGES (); - sprintf (arg, "%" G_GSIZE_MODIFIER "u", (gsize) SIZE_MAX); + g_sprintf (arg, "%" G_GSIZE_MODIFIER "u", (gsize) SIZE_MAX); COMPILE_AND_LOAD_SCRIPT ( "const testSizeMax = new NativeFunction(" GUM_PTR_CONST ", 'bool', " "['size_t']);" @@ -1657,8 +1657,8 @@ TESTCASE (native_function_can_be_invoked_with_size_t) EXPECT_SEND_MESSAGE_WITH ("true"); EXPECT_NO_MESSAGES (); - sprintf (arg, "%" G_GSIZE_MODIFIER "u", (gsize) SIZE_MAX); - sprintf (ret, "\"%" G_GSIZE_MODIFIER "u\"", (gsize) SIZE_MAX); + g_sprintf (arg, "%" G_GSIZE_MODIFIER "u", (gsize) SIZE_MAX); + g_sprintf (ret, "\"%" G_GSIZE_MODIFIER "u\"", (gsize) SIZE_MAX); COMPILE_AND_LOAD_SCRIPT ( "const passSize = new NativeFunction(" GUM_PTR_CONST ", 'size_t', " "['size_t']);" @@ -1668,8 +1668,8 @@ TESTCASE (native_function_can_be_invoked_with_size_t) EXPECT_NO_MESSAGES (); #ifndef _MSC_VER - sprintf (arg, "%td", (ptrdiff_t) PTRDIFF_MAX); - sprintf (ret, "\"%td\"", (ptrdiff_t) PTRDIFF_MAX); + g_sprintf (arg, "%td", (ptrdiff_t) PTRDIFF_MAX); + g_sprintf (ret, "\"%td\"", (ptrdiff_t) PTRDIFF_MAX); COMPILE_AND_LOAD_SCRIPT ( "const passSSize = new NativeFunction(" GUM_PTR_CONST ", 'ssize_t', " "['ssize_t']);" @@ -1678,8 +1678,8 @@ TESTCASE (native_function_can_be_invoked_with_size_t) EXPECT_SEND_MESSAGE_WITH (ret); EXPECT_NO_MESSAGES (); - sprintf (arg, "%" G_GSIZE_MODIFIER"d", (gsize) PTRDIFF_MIN); - sprintf (ret, "\"%" G_GSIZE_MODIFIER "d\"", (gsize) PTRDIFF_MIN); + g_sprintf (arg, "%" G_GSIZE_MODIFIER"d", (gsize) PTRDIFF_MIN); + g_sprintf (ret, "\"%" G_GSIZE_MODIFIER "d\"", (gsize) PTRDIFF_MIN); COMPILE_AND_LOAD_SCRIPT ( "const passSSize = new NativeFunction(" GUM_PTR_CONST ", 'ssize_t', " "['ssize_t']);"