]> source.dussan.org Git - rspamd.git/commitdiff
Add more diagnostic for lua subr errors
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 31 Jan 2016 14:53:38 +0000 (15:53 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 31 Jan 2016 14:53:38 +0000 (15:53 +0100)
src/rspamadm/rspamadm.c

index a170b58308f9374b47c2a35951c925398212f589..96022bc9f5bc26d3e53e600752c32495dac37a8e 100644 (file)
@@ -207,7 +207,7 @@ rspamadm_execute_lua_ucl_subr (gpointer pL, gint argc, gchar **argv,
                const ucl_object_t *res, const gchar *script)
 {
        lua_State *L = pL;
-       gint err_idx, cb_idx, i;
+       gint err_idx, cb_idx, i, ret;
        GString *tb;
 
        g_assert (script != NULL);
@@ -249,10 +249,14 @@ rspamadm_execute_lua_ucl_subr (gpointer pL, gint argc, gchar **argv,
        /* Push results */
        ucl_object_push_lua (L, res, TRUE);
 
-       if (lua_pcall (L, 2, 0, err_idx) != 0) {
+       if ((ret = lua_pcall (L, 2, 0, err_idx)) != 0) {
                tb = lua_touserdata (L, -1);
-               msg_err ("call to adm lua script failed: %v", tb);
-               g_string_free (tb, TRUE);
+               msg_err ("call to adm lua script failed (%d): %v", ret, tb);
+
+               if (tb) {
+                       g_string_free (tb, TRUE);
+               }
+
                lua_pop (L, 1);
 
                return FALSE;