From 010e046e6b7e2b15db41e2a04e8592acf71ccfd0 Mon Sep 17 00:00:00 2001 From: rlar Date: Sat, 31 Jul 2010 17:04:37 +0000 Subject: [PATCH] work around a segmentation fault, plot .. vs vec --- ChangeLog | 6 ++++++ src/frontend/parse.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 3cdf170c3..5cbf7f35b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-07-31 Robert Larice + * src/frontend/parse.c : + work around a segmentation fault, when plotting + plot something vs vec + vec was freed too early + 2010-07-31 Robert Larice * src/frontend/vectors.c : fix an ancient typo, responsible for segfault or garbage diff --git a/src/frontend/parse.c b/src/frontend/parse.c index 28672c2f4..9a223a6b1 100644 --- a/src/frontend/parse.c +++ b/src/frontend/parse.c @@ -416,7 +416,7 @@ 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) + if (t->pn_value && !(t->pn_value->v_flags & VF_PERMANENT)) vec_free(t->pn_value); /* patch by Stefan Jones */ tfree(t); }