From: Vsevolod Stakhov Date: Wed, 4 Feb 2026 15:10:00 +0000 (+0000) Subject: [Fix] Use rspamd printf format specifiers instead of GNU X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=efa297399c831744c471f28787c517c8b28c29b0;p=thirdparty%2Frspamd.git [Fix] Use rspamd printf format specifiers instead of GNU 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. --- diff --git a/src/libserver/hs_cache_backend.c b/src/libserver/hs_cache_backend.c index a5cffa3b4d..cbbb1f4457 100644 --- a/src/libserver/hs_cache_backend.c +++ b/src/libserver/hs_cache_backend.c @@ -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"); diff --git a/src/libserver/re_cache.c b/src/libserver/re_cache.c index d842d22e61..2f0d2f161e 100644 --- a/src/libserver/re_cache.c +++ b/src/libserver/re_cache.c @@ -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 : "",