From: Vsevolod Stakhov Date: Tue, 2 Jul 2019 15:49:27 +0000 (+0100) Subject: [Minor] Fix some issues X-Git-Tag: 2.0~675 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=70eeb25c715ae22800aa96385221f9d8054be375;p=thirdparty%2Frspamd.git [Minor] Fix some issues --- diff --git a/src/lua/lua_config.c b/src/lua/lua_config.c index 5a4d3efdc4..6abddc4ff1 100644 --- a/src/lua/lua_config.c +++ b/src/lua/lua_config.c @@ -3352,15 +3352,21 @@ lua_metric_symbol_inserter (gpointer k, gpointer v, gpointer ud) lua_settable (L, -3); } - lua_pushstring (L, "groups"); - lua_createtable (L, s->groups->len, 0); + if (s->groups && s->groups->len > 0) { + lua_pushstring (L, "groups"); + lua_createtable (L, s->groups->len, 0); - PTR_ARRAY_FOREACH (s->groups, i, gr) { - lua_pushstring (L, gr->name); - lua_rawseti (L, -2, i + 1); /* Groups[i + 1] = group_name */ - } + PTR_ARRAY_FOREACH (s->groups, i, gr) { + lua_pushstring (L, gr->name); + lua_rawseti (L, -2, i + 1); /* Groups[i + 1] = group_name */ + } - lua_settable (L, -3); /* Groups -> groups_table */ + lua_settable (L, -3); /* Groups -> groups_table */ + } + else { + lua_createtable (L, 0, 0); + lua_setfield (L, -2, "groups"); + } lua_settable (L, -3); /* Symname -> table */ } @@ -3380,7 +3386,7 @@ lua_config_get_symbols (lua_State *L) lua_createtable (L, 0, g_hash_table_size (cfg->symbols)); g_hash_table_foreach (cfg->symbols, lua_metric_symbol_inserter, - &cfg); + &cbd); } else { return luaL_error (L, "invalid arguments");