]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Fix] Use rspamd printf format specifiers instead of GNU
authorVsevolod Stakhov <vsevolod@rspamd.com>
Wed, 4 Feb 2026 15:10:00 +0000 (15:10 +0000)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Wed, 4 Feb 2026 15:10:00 +0000 (15:10 +0000)
Fix format strings in hs_cache_backend.c and re_cache.c to use rspamd's
custom printf specifiers:
- %uz for gsize (unsigned size_t), not %z
- %ud for unsigned int, not %u

The GNU format specifiers cause crashes on some platforms.

src/libserver/hs_cache_backend.c
src/libserver/re_cache.c

index a5cffa3b4dcda58ab17de9e3ed2c9dca79c2f369..cbbb1f4457feec6da3123bb3cafda33ba895753a 100644 (file)
@@ -556,7 +556,7 @@ gboolean rspamd_hs_cache_lua_load_sync(const char *cache_key,
                        memcpy(*data, t->start, t->len);
                }
                if (len) *len = t->len;
-               msg_debug_hyperscan("load_sync: loaded %z bytes for %s", t->len, cache_key);
+               msg_debug_hyperscan("load_sync: loaded %uz bytes for %s", t->len, cache_key);
        }
        else {
                if (error) *error = g_strdup("Empty or invalid data returned");
index d842d22e616f2f7c945fbf56f35ae233f5680689..2f0d2f161e6ff8fd6db59ae08b0e5c4bc8cdacd6 100644 (file)
@@ -3180,7 +3180,7 @@ rspamd_re_cache_load_hyperscan(struct rspamd_re_cache *cache,
 
                /* Load via Lua backend (handles files, compression, etc.) */
                if (rspamd_hs_cache_lua_load_sync(re_class->hash, "re_class", &data, &data_len, &error)) {
-                       msg_debug_re_cache("loaded hyperscan via Lua backend for '%s' (%z bytes)",
+                       msg_debug_re_cache("loaded hyperscan via Lua backend for '%s' (%uz bytes)",
                                                           re_class->hash, data_len);
                }
                else {
@@ -3215,7 +3215,7 @@ rspamd_re_cache_load_hyperscan(struct rspamd_re_cache *cache,
 
        if (has_valid) {
                if (all_valid) {
-                       msg_info_re_cache("full hyperscan database (%u classes) has been loaded%s%s%s",
+                       msg_info_re_cache("full hyperscan database (%ud classes) has been loaded%s%s%s",
                                                          total_loaded,
                                                          cache->scope ? " for scope '" : "",
                                                          cache->scope ? cache->scope : "",
@@ -3223,7 +3223,7 @@ rspamd_re_cache_load_hyperscan(struct rspamd_re_cache *cache,
                        cache->hyperscan_loaded = RSPAMD_HYPERSCAN_LOADED_FULL;
                }
                else {
-                       msg_info_re_cache("partial hyperscan database (%u classes) has been loaded%s%s%s",
+                       msg_info_re_cache("partial hyperscan database (%ud classes) has been loaded%s%s%s",
                                                          total_loaded,
                                                          cache->scope ? " for scope '" : "",
                                                          cache->scope ? cache->scope : "",