From 35d297e4cdffea9f5d876142dcc5cd9b59d66622 Mon Sep 17 00:00:00 2001 From: forsyth Date: Tue, 12 Mar 2013 15:09:37 +0000 Subject: 20121210-1509 --- CHANGES | 2 ++ include/version.h | 2 +- utils/awk/run.c | 3 +++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index c2d30b03..348afecb 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ +20121210 + utils/awk/run.c - prevent free of pointer still in use [cinap] 20121205 appl/cmd/mk/mksubdirs [issue 290 change suggested by powerman] 20120918 diff --git a/include/version.h b/include/version.h index b179aa36..14453b76 100644 --- a/include/version.h +++ b/include/version.h @@ -1 +1 @@ -#define VERSION "Fourth Edition (20121207)" +#define VERSION "Fourth Edition (20121210)" diff --git a/utils/awk/run.c b/utils/awk/run.c index a6cbb406..7c2740d2 100644 --- a/utils/awk/run.c +++ b/utils/awk/run.c @@ -1209,7 +1209,10 @@ Cell *split(Node **a, int nnn) /* split(a[0], a[1], a[2]); a[3] is type */ FATAL("illegal type of split"); sep = *fs; ap = execute(a[1]); /* array name */ + n = y->tval; + y->tval |= DONTFREE; /* split(a[x], a); */ freesymtab(ap); + y->tval = n; dprintf( ("split: s=|%s|, a=%s, sep=|%s|\n", s, ap->nval, fs) ); ap->tval &= ~STR; ap->tval |= ARR; -- cgit v1.2.3