aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2018-05-21 13:34:53 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2018-05-21 13:34:53 +0100
commitb6a20c74a44332f04a17a6e430a60f1b51d20f0f (patch)
tree5d8c59cb11e80504bdfc5ca6f7a20abda351c912 /src
parentdaa7d496c42c32e2a4cfc18af64207e5ed910f4d (diff)
downloadrspamd-b6a20c74a44332f04a17a6e430a60f1b51d20f0f.tar.gz
rspamd-b6a20c74a44332f04a17a6e430a60f1b51d20f0f.zip
[Minor] Improve headers tokens in bayes
Diffstat (limited to 'src')
-rw-r--r--src/libstat/stat_process.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/libstat/stat_process.c b/src/libstat/stat_process.c
index 4f7f4e703..070b9d6ca 100644
--- a/src/libstat/stat_process.c
+++ b/src/libstat/stat_process.c
@@ -190,8 +190,13 @@ rspamd_stat_tokenize_parts_metadata (struct rspamd_stat_ctx *st_ctx,
hdr = cur->data;
if (hdr->name && hdr->type != RSPAMD_HEADER_RECEIVED) {
- elt.begin = hdr->name;
- elt.len = strlen (hdr->name);
+ /* We assume that headers count is not more than 10^10 */
+ gsize nlen = strlen (hdr->name) + 1 + 10;
+ gchar *hdrbuf = rspamd_mempool_alloc (task->task_pool, nlen);
+ nlen = rspamd_snprintf (hdrbuf, nlen, "%s:%d", hdr->name, hdr->order);
+ rspamd_str_lc (hdrbuf, nlen);
+ elt.begin = hdrbuf;
+ elt.len = nlen;
g_array_append_val (ar, elt);
}