From: Vsevolod Stakhov Date: Mon, 18 Nov 2019 12:14:54 +0000 (+0000) Subject: [Fix] Fix utf8 validation for symbols options and empty strings X-Git-Tag: 2.2~21 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e7059c97ee940941455a1d0b8fe0adb292ce8d7c;p=rspamd.git [Fix] Fix utf8 validation for symbols options and empty strings --- diff --git a/src/libmime/scan_result.c b/src/libmime/scan_result.c index 7b1acd3e9..23964c88e 100644 --- a/src/libmime/scan_result.c +++ b/src/libmime/scan_result.c @@ -529,7 +529,7 @@ rspamd_task_add_result_option (struct rspamd_task *task, vlen = strlen (val); - if (!rspamd_fast_utf8_validate (val, vlen)) { + if (rspamd_fast_utf8_validate (val, vlen) == 0) { opt_cpy = rspamd_str_make_utf_valid (val, vlen, &vlen, task->task_pool); val = opt_cpy; diff --git a/src/libutil/str_util.c b/src/libutil/str_util.c index 9f4ad1cb0..8fcaca484 100644 --- a/src/libutil/str_util.c +++ b/src/libutil/str_util.c @@ -3067,7 +3067,11 @@ rspamd_str_make_utf_valid (const guchar *src, gsize slen, } if (slen == 0) { - return NULL; + if (dstlen) { + *dstlen = 0; + } + + return pool ? rspamd_mempool_strdup (pool, "") : g_strdup (""); } p = src;