diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2021-03-01 10:34:07 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2021-03-01 10:34:07 +0000 |
commit | b14e9419ca91f289fa717ce27da99819197ee57f (patch) | |
tree | 962af802f1b9d95c7146f731aee2bc3a0890b186 | |
parent | 0a82f42bc508f90d9f23a6a2e087495c04b1a2a5 (diff) | |
download | rspamd-b14e9419ca91f289fa717ce27da99819197ee57f.tar.gz rspamd-b14e9419ca91f289fa717ce27da99819197ee57f.zip |
[Minor] Fix issues with values check
-rw-r--r-- | lualib/lua_mime.lua | 6 | ||||
-rw-r--r-- | src/libmime/mime_headers.c | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/lualib/lua_mime.lua b/lualib/lua_mime.lua index d94335f5b..3b8344e5f 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 a480c6fc6..bb7b9373a 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; |