From 89ea46e39ac49f6de689dc01b2830c4d9bde06f8 Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Thu, 13 Feb 2020 21:32:02 +0100 Subject: [PATCH] prevent false freeing of vector --- src/frontend/parse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/frontend/parse.c b/src/frontend/parse.c index a1ac39fa4..cc86903d0 100644 --- a/src/frontend/parse.c +++ b/src/frontend/parse.c @@ -471,7 +471,7 @@ void free_pnode_x(struct pnode *t) free_pnode(t->pn_right); free_pnode(t->pn_next); tfree(t->pn_name); /* va: it is a copy() of original string, can be free'd */ - if (t->pn_value && !(t->pn_value->v_flags & VF_PERMANENT)) { + if (t->pn_use == 1 && t->pn_value && !(t->pn_value->v_flags & VF_PERMANENT)) { vec_free(t->pn_value); /* patch by Stefan Jones */ } txfree(t);