aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew J. Schorr <aschorr@telemetry-investments.com>2012-04-09 08:17:06 -0400
committerAndrew J. Schorr <aschorr@telemetry-investments.com>2012-04-09 08:17:06 -0400
commit876bfa5513ae175535a5e67e90973b712fce8399 (patch)
tree138cf1c5d76c2ffd365eae0ac4f2f418f7b08755
parent059a60ca01fbe31d4e6cea8cde7fa086abec90aa (diff)
downloadegawk-876bfa5513ae175535a5e67e90973b712fce8399.tar.gz
egawk-876bfa5513ae175535a5e67e90973b712fce8399.tar.bz2
egawk-876bfa5513ae175535a5e67e90973b712fce8399.zip
Fix memory management bug in unset_ERRNO.
-rw-r--r--ChangeLog5
-rw-r--r--eval.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 4a0360ab..0d405abf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-04-09 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * eval.c (unset_ERRNO): Fix memory management bug -- need to use
+ dupnode with Nnull_string.
+
2012-04-08 Andrew J. Schorr <aschorr@telemetry-investments.com>
* Makefile.am (valgrind): Define VALGRIND instead of redefining AWK.
diff --git a/eval.c b/eval.c
index 82cca9ed..e3ab52eb 100644
--- a/eval.c
+++ b/eval.c
@@ -1021,7 +1021,7 @@ void
unset_ERRNO(void)
{
unref(ERRNO_node->var_value);
- ERRNO_node->var_value = Nnull_string;
+ ERRNO_node->var_value = dupnode(Nnull_string);
}
/* update_NR --- update the value of NR */