From 545e9004e92deea03ea6c0a9a451934f630ee728 Mon Sep 17 00:00:00 2001 From: rlar Date: Thu, 2 Jun 2011 11:02:52 +0000 Subject: [PATCH] fix a segfault, incorrect invocation of free() --- ChangeLog | 9 +++++++-- src/frontend/evaluate.c | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 18ead80e0..afee9a0a4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,14 @@ +2011-06-02 Robert Larice + * src/frontend/evaluate.c : + fix a segfault, incorrect invocation of free() + seen with expressions like v(node)[0] + 2011-06-02 Holger Vogt * tests/hisim/makefile.am: no more test1.cir in EXTRA_DIST * INSTALL, compile_min.sh: new instructions for mingw compilation - + 2011-06-01 Dietmar Warning - * devices/bjt/bjt.c: introduce ccc as an alias for the + * devices/bjt/bjt.c: introduce ccs as an alias for the zero bias substrate junction capacitance cjs 2011-06-01 Robert Larice diff --git a/src/frontend/evaluate.c b/src/frontend/evaluate.c index b470b5207..507ddf3dc 100644 --- a/src/frontend/evaluate.c +++ b/src/frontend/evaluate.c @@ -658,7 +658,7 @@ op_range(struct pnode *arg1, struct pnode *arg2) /* va: garbage collection */ if (arg1->pn_value==NULL && v!=NULL) vec_free(v); - if (arg1->pn_value==NULL && ind!=NULL) vec_free(ind); + if (arg2->pn_value==NULL && ind!=NULL) vec_free(ind); return (res); } @@ -811,7 +811,7 @@ op_ind(struct pnode *arg1, struct pnode *arg2) /* va: garbage collection */ if (arg1->pn_value==NULL && v!=NULL) vec_free(v); - if (arg1->pn_value==NULL && ind!=NULL) vec_free(ind); + if (arg2->pn_value==NULL && ind!=NULL) vec_free(ind); return (res); }