aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew J. Schorr <aschorr@telemetry-investments.com>2012-04-09 08:17:01 -0400
committerAndrew J. Schorr <aschorr@telemetry-investments.com>2012-04-09 08:17:01 -0400
commit247e18a50b836bedcaec2575a31f2802e14721c9 (patch)
tree2bf12e6734fb62d6832c9602bb9606888e8c4025
parent76fce411492be9713284936f23a4cd90f9454ce0 (diff)
downloadegawk-247e18a50b836bedcaec2575a31f2802e14721c9.tar.gz
egawk-247e18a50b836bedcaec2575a31f2802e14721c9.tar.bz2
egawk-247e18a50b836bedcaec2575a31f2802e14721c9.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 */