From eafb1e5bf7c24f4724abaf3ec07f8f13abcab356 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Thu, 16 Jan 2025 13:39:07 +0200 Subject: [PATCH] mail-lua: lua_call and lua_file var_expand filters - check for missing parameters --- src/plugins/mail-lua/mail-lua-plugin.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/plugins/mail-lua/mail-lua-plugin.c b/src/plugins/mail-lua/mail-lua-plugin.c index 8bc73f02fc..9f10e2ad45 100644 --- a/src/plugins/mail-lua/mail-lua-plugin.c +++ b/src/plugins/mail-lua/mail-lua-plugin.c @@ -270,8 +270,8 @@ static int mail_lua_var_expand_lua_file(const struct var_expand_statement *stmt, struct var_expand_state *state, const char **error_r) { - const char *file; - const char *fn; + const char *file = NULL; + const char *fn = NULL; const char *value; ARRAY_TYPE(const_string) params; @@ -302,6 +302,11 @@ static int mail_lua_var_expand_lua_file(const struct var_expand_statement *stmt, } } + if (file == NULL || fn == NULL) { + *error_r = "Missing parameters"; + return -1; + } + struct dlua_script *script; if (mail_lua_script_load(file, &script, error_r) < 0) return -1; @@ -316,7 +321,7 @@ static int mail_lua_var_expand_lua_call(const struct var_expand_statement *stmt, struct var_expand_state *state, const char **error_r) { - const char *fn; + const char *fn = NULL; const char *value; ARRAY_TYPE(const_string) params; @@ -341,6 +346,11 @@ static int mail_lua_var_expand_lua_call(const struct var_expand_statement *stmt, } } + if (fn == NULL) { + *error_r = "Missing parameters"; + return -1; + } + if (state->params->event == NULL) { *error_r = "No mail user available"; return -1; -- 2.47.3