From: Vsevolod Stakhov Date: Mon, 27 Jun 2016 13:54:59 +0000 (+0100) Subject: [Fix] Fix size of length in fuzzy mirror wire protocol X-Git-Tag: 1.3.0~240 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ffba24d78f4344854d070b906a50f9c3079c167d;p=thirdparty%2Frspamd.git [Fix] Fix size of length in fuzzy mirror wire protocol --- diff --git a/src/fuzzy_storage.c b/src/fuzzy_storage.c index cfb29c0b75..2c56bed5e7 100644 --- a/src/fuzzy_storage.c +++ b/src/fuzzy_storage.c @@ -258,7 +258,7 @@ fuzzy_mirror_updates_to_http (struct rspamd_fuzzy_storage_ctx *ctx, { GList *cur; struct fuzzy_peer_cmd *io_cmd; - gsize len; + guint32 len; guint32 rev; const gchar *p; rspamd_fstring_t *reply; @@ -297,6 +297,7 @@ fuzzy_mirror_updates_to_http (struct rspamd_fuzzy_storage_ctx *ctx, } p = (const char *)io_cmd; + len = GUINT32_TO_LE (len); reply = rspamd_fstring_append (reply, (const char *)&len, sizeof (len)); reply = rspamd_fstring_append (reply, p, len); } @@ -1000,7 +1001,8 @@ rspamd_fuzzy_mirror_process_update (struct fuzzy_master_update_session *session, break; case read_data: if (remain < len) { - msg_err ("short update message while reading data, not processing"); + msg_err ("short update message while reading data, not processing" + " (%zd is available, %d is required)", remain, len); return; }