diff options
author | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2009-03-24 19:47:10 +0300 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2009-03-24 19:47:10 +0300 |
commit | 56033466857544978d09dc4afa53c2eb359e8ea5 (patch) | |
tree | 50e27baad50b5c44ed2bb7d1ac54f84ed02174f7 /src/expressions.c | |
parent | 474a08d028bce4263a8a919fc7d5d705cd1daa45 (diff) | |
download | rspamd-56033466857544978d09dc4afa53c2eb359e8ea5.tar.gz rspamd-56033466857544978d09dc4afa53c2eb359e8ea5.zip |
* Fix bug in expressions parser and optimizer
Diffstat (limited to 'src/expressions.c')
-rw-r--r-- | src/expressions.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/expressions.c b/src/expressions.c index f222ea2b4..b115eba72 100644 --- a/src/expressions.c +++ b/src/expressions.c @@ -342,16 +342,13 @@ parse_expression (memory_pool_t *pool, char *line) break; case READ_FUNCTION: - if (func == NULL) { - func = memory_pool_alloc (pool, sizeof (struct expression_function)); - } - if (*p == '/') { /* In fact it is regexp */ state = READ_REGEXP; c ++; p ++; } else if (*p == '(') { + func = memory_pool_alloc (pool, sizeof (struct expression_function)); func->name = memory_pool_alloc (pool, p - c + 1); func->args = NULL; g_strlcpy (func->name, c, (p - c + 1)); |