From: Timo Sirainen Date: Thu, 16 Jan 2025 11:39:07 +0000 (+0200) Subject: mail-lua: lua_call and lua_file var_expand filters - check for missing parameters X-Git-Tag: 2.4.0~41 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e922722fff83d41bcdc51894fd5057a684a1c9d8;p=thirdparty%2Fdovecot%2Fcore.git mail-lua: lua_call and lua_file var_expand filters - check for missing parameters --- 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;