From: Vsevolod Stakhov Date: Wed, 29 Jul 2020 10:00:42 +0000 (+0100) Subject: [Minor] Fix simple regexps X-Git-Tag: 2.6~196 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e8437ef00ffc2c6866ff28deaae001cf83dbcba2;p=rspamd.git [Minor] Fix simple regexps --- diff --git a/src/libmime/mime_expressions.c b/src/libmime/mime_expressions.c index 0caa324cc..d35bc136f 100644 --- a/src/libmime/mime_expressions.c +++ b/src/libmime/mime_expressions.c @@ -815,41 +815,36 @@ set: goto err; } else { - const ucl_object_t *re_conditions = ucl_object_lookup (real_ud->conf_obj, - "re_conditions"); gint lua_cbref = -1; /* Check regexp condition */ - if (real_ud->conf_obj == NULL) { - g_set_error (err, rspamd_mime_expr_quark(), 300, - "no config object for '%s'", - mime_atom->str); - goto err; - } + if (real_ud->conf_obj != NULL) { + const ucl_object_t *re_conditions = ucl_object_lookup (real_ud->conf_obj, + "re_conditions"); + + if (re_conditions != NULL) { + if (ucl_object_type (re_conditions) != UCL_OBJECT) { + g_set_error (err, rspamd_mime_expr_quark (), 320, + "re_conditions is not a table for '%s'", + mime_atom->str); + goto err; + } - if (re_conditions != NULL) { - if (ucl_object_type (re_conditions) != UCL_OBJECT) { - g_set_error (err, rspamd_mime_expr_quark(), 320, - "re_conditions is not a table for '%s'", + const ucl_object_t *function_obj = ucl_object_lookup (re_conditions, mime_atom->str); - goto err; - } - const ucl_object_t *function_obj; + if (function_obj != NULL) { + if (ucl_object_type (function_obj) != UCL_USERDATA) { + g_set_error (err, rspamd_mime_expr_quark (), 320, + "condition for '%s' is invalid, must be function", + mime_atom->str); + goto err; + } - function_obj = ucl_object_lookup (re_conditions, mime_atom->str); + struct ucl_lua_funcdata *fd = function_obj->value.ud; - if (function_obj != NULL) { - if (ucl_object_type (function_obj) != UCL_USERDATA) { - g_set_error (err, rspamd_mime_expr_quark(), 320, - "condition for '%s' is invalid, must be function", - mime_atom->str); - goto err; + lua_cbref = fd->idx; } - - struct ucl_lua_funcdata *fd = function_obj->value.ud; - - lua_cbref = fd->idx; } }