From: Vsevolod Stakhov Date: Mon, 1 Mar 2021 10:34:07 +0000 (+0000) Subject: [Minor] Fix issues with values check X-Git-Tag: 3.0~630 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b14e9419ca91f289fa717ce27da99819197ee57f;p=thirdparty%2Frspamd.git [Minor] Fix issues with values check --- diff --git a/lualib/lua_mime.lua b/lualib/lua_mime.lua index d94335f5b7..3b8344e5fa 100644 --- a/lualib/lua_mime.lua +++ b/lualib/lua_mime.lua @@ -526,8 +526,10 @@ exports.modify_headers = function(task, hdr_alterations) local add_tbl = hdr_flattened[hname].add if hdr.value then table.insert(add_tbl, {hdr.order or -1, hdr.value}) - else - table.insert(add_tbl, {-1, hdr}) + elseif type(hdr) == 'table' then + for _,v in ipairs(hdr) do + table.insert(add_tbl, {-1, v}) + end end end diff --git a/src/libmime/mime_headers.c b/src/libmime/mime_headers.c index a480c6fc68..bb7b9373a6 100644 --- a/src/libmime/mime_headers.c +++ b/src/libmime/mime_headers.c @@ -1894,7 +1894,9 @@ rspamd_message_set_modified_header (struct rspamd_task *task, const ucl_object_t *order = ucl_array_find_index (cur, 0), *value = ucl_array_find_index (cur, 1); - if (order && value) { + if (order && value && + (ucl_object_type (order) == UCL_INT && + ucl_object_type (value) == UCL_STRING)) { int ord = ucl_object_toint (order); const char *raw_value; gsize raw_len;