]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Add some fail-safety
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 18 Aug 2020 15:06:21 +0000 (16:06 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 18 Aug 2020 15:06:38 +0000 (16:06 +0100)
src/lua/lua_task.c

index 27fee395d8d34000913935f906f04fcd8029fbcf..09479ea215dfa402f0c22cdcd41e5fd899d108a4 100644 (file)
@@ -4732,6 +4732,12 @@ lua_task_get_groups (lua_State *L)
                        mres = rspamd_find_metric_result (task, lua_tostring (L, 3));
                }
 
+               if (mres == NULL) {
+                       lua_pushnil (L);
+
+                       return 1;
+               }
+
                lua_createtable (L, 0, kh_size (mres->sym_groups));
 
                kh_foreach (mres->sym_groups, gr, gr_score, {
@@ -5943,6 +5949,12 @@ lua_task_get_metric_result (lua_State *L)
 
                if (lua_isstring (L, 2)) {
                        metric_res = rspamd_find_metric_result (task, lua_tostring (L, 2));
+
+                       if (metric_res == NULL) {
+                               lua_pushnil (L);
+
+                               return 1;
+                       }
                }
 
                /* Fields added:
@@ -6043,6 +6055,12 @@ lua_task_get_metric_action (lua_State *L)
                        mres = rspamd_find_metric_result (task, lua_tostring (L, 2));
                }
 
+               if (mres == NULL) {
+                       lua_pushnil (L);
+
+                       return 1;
+               }
+
                action = rspamd_check_action_metric (task, NULL, mres);
                lua_pushstring (L, action->name);
        }