summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Src/params.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ff197dfdc..d2686e186 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-01-15  Peter Stephenson  <pws@csr.com>
+
+	* 19374: Src/params.c: typo in 19361 caused crashes when
+	unsetting special parameters tied internally to arrays.
+
 2004-01-14  Peter Stephenson  <pws@csr.com>
 
 	* 19364: Completion/Unix/Command/.distfiles,
diff --git a/Src/params.c b/Src/params.c
index 90389c40c..5a5283df9 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -2585,7 +2585,7 @@ arrvarsetfn(Param pm, char **x)
      * ways which need to be set to NULL.  We can't do this
      * with user tied variables since we can leak memory.
      */
-    if ((pm->flags & PM_SPECIAL) & !x)
+    if ((pm->flags & PM_SPECIAL) && !x)
 	*dptr = mkarray(NULL);
     else
 	*dptr = x;