From: Vsevolod Stakhov Date: Thu, 6 Oct 2016 20:56:13 +0000 (+0100) Subject: [Minor] Fix runtime issues X-Git-Tag: 1.4.0~303 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=1b5151533711e1c14f78c1e65c4902506b27ba1f;p=rspamd.git [Minor] Fix runtime issues --- diff --git a/src/libserver/cfg_rcl.c b/src/libserver/cfg_rcl.c index b770e14ad..5cfd73ee3 100644 --- a/src/libserver/cfg_rcl.c +++ b/src/libserver/cfg_rcl.c @@ -880,6 +880,12 @@ rspamd_rcl_set_lua_globals (struct rspamd_config *cfg, lua_State *L, lua_setglobal (L, "rspamd_classifiers"); } + lua_getglobal (L, "classifiers"); + if (lua_isnil (L, -1)) { + lua_newtable (L); + lua_setglobal (L, "classifiers"); + } + lua_getglobal (L, "rspamd_version"); if (lua_isnil (L, -1)) { lua_pushcfunction (L, rspamd_rcl_lua_version); diff --git a/src/libstat/stat_config.c b/src/libstat/stat_config.c index 59159da63..f153be737 100644 --- a/src/libstat/stat_config.c +++ b/src/libstat/stat_config.c @@ -115,7 +115,7 @@ rspamd_stat_init (struct rspamd_config *cfg, struct event_base *ev_base) if (lua_type (L, -1) == LUA_TTABLE) { lua_pushnil (L); - while (lua_next (L, -1) != 0) { + while (lua_next (L, -2) != 0) { lua_classifiers_cnt ++; lua_pop (L, 1); } @@ -138,7 +138,7 @@ rspamd_stat_init (struct rspamd_config *cfg, struct event_base *ev_base) if (lua_type (L, -1) == LUA_TTABLE) { lua_pushnil (L); - while (lua_next (L, -1) != 0) { + while (lua_next (L, -2) != 0) { lua_pushvalue (L, -2); memcpy (&stat_ctx->classifiers_subrs[i], &lua_classifier, sizeof (struct rspamd_stat_classifier));