diff options
author | Pavel Levshin <pavel@levshin.spb.ru> | 2013-10-29 09:34:17 +0100 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2013-10-29 09:34:17 +0100 |
commit | 0cd1b170ff91ee5002c9c9ea0b291f9189557bd1 (patch) | |
tree | daffa7af9bf227a08a977415e1574ee3420605bd /grammar | |
parent | 17e1ee2539cea6bac16832b488afd52b20a348ac (diff) | |
download | rsyslog-0cd1b170ff91ee5002c9c9ea0b291f9189557bd1.tar.gz rsyslog-0cd1b170ff91ee5002c9c9ea0b291f9189557bd1.tar.bz2 rsyslog-0cd1b170ff91ee5002c9c9ea0b291f9189557bd1.zip |
bugfix: abort if "if $syslogfacility-text..." was being used
Diffstat (limited to 'grammar')
-rw-r--r-- | grammar/rainerscript.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/grammar/rainerscript.c b/grammar/rainerscript.c index 986d2802..b03e7c12 100644 --- a/grammar/rainerscript.c +++ b/grammar/rainerscript.c @@ -2926,12 +2926,15 @@ cnfexprOptimize(struct cnfexpr *expr) expr->r = exprswap; } } - if(expr->l->nodetype == 'V') { - expr = cnfexprOptimize_CMP_var(expr); - } if(expr->r->nodetype == 'A') { cnfexprOptimize_CMPEQ_arr((struct cnfarray *)expr->r); } + /* This should be evaluated last because it may change expr + * to a function. + */ + if(expr->l->nodetype == 'V') { + expr = cnfexprOptimize_CMP_var(expr); + } break; case CMP_LE: case CMP_GE: |