summaryrefslogtreecommitdiffstats
path: root/grammar/rainerscript.c
diff options
context:
space:
mode:
Diffstat (limited to 'grammar/rainerscript.c')
-rw-r--r--grammar/rainerscript.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/grammar/rainerscript.c b/grammar/rainerscript.c
index 2e066d78..90bbb335 100644
--- a/grammar/rainerscript.c
+++ b/grammar/rainerscript.c
@@ -1037,8 +1037,9 @@ evalVar(struct cnfvar *var, void *usrptr, struct var *ret)
#define FREE_TWO_STRINGS \
if(bMustFree) es_deleteStr(estr_r); \
+ if(expr->r->nodetype != 'S' && r.datatype == 'S') es_deleteStr(r.d.estr); \
if(bMustFree2) es_deleteStr(estr_l); \
- FREE_BOTH_RET
+ if(l.datatype == 'S') es_deleteStr(l.d.estr)
/* evaluate an expression.
* Note that we try to avoid malloc whenever possible (because of