From 4424324ba00d4dff20d66e7f544ea1cef3cea43b Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Tue, 19 Jun 2018 19:12:12 +0100 Subject: [PATCH] [Minor] Fix task creation --- src/libserver/task.c | 5 ++++- src/lua/lua_task.c | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/libserver/task.c b/src/libserver/task.c index 8994214a5a..f626a8c7b4 100644 --- a/src/libserver/task.c +++ b/src/libserver/task.c @@ -79,7 +79,10 @@ rspamd_task_new (struct rspamd_worker *worker, struct rspamd_config *cfg, new_task->flags |= RSPAMD_TASK_FLAG_PASS_ALL; } - new_task->re_rt = rspamd_re_cache_runtime_new (cfg->re_cache); + + if (cfg->re_cache) { + new_task->re_rt = rspamd_re_cache_runtime_new (cfg->re_cache); + } if (new_task->lang_det == NULL && cfg->lang_det != NULL) { new_task->lang_det = cfg->lang_det; diff --git a/src/lua/lua_task.c b/src/lua/lua_task.c index 94d4c05dcf..ca55609a7d 100644 --- a/src/lua/lua_task.c +++ b/src/lua/lua_task.c @@ -1226,7 +1226,12 @@ lua_task_load_from_file (lua_State * L) if (fname) { if (lua_type (L, 2) == LUA_TUSERDATA) { - cfg = rspamd_lua_check_udata_maybe (L, 2, "rspamd{config}"); + gpointer p; + p = rspamd_lua_check_udata_maybe (L, 2, "rspamd{config}"); + + if (p) { + cfg = *(struct rspamd_config **)p; + } } map = rspamd_file_xmap (fname, PROT_READ, &sz, TRUE); -- 2.47.3