about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBart Schaefer <barts@users.sourceforge.net>2001-11-28 18:30:51 +0000
committerBart Schaefer <barts@users.sourceforge.net>2001-11-28 18:30:51 +0000
commitdfb24f53ecfde8b69c899e48207c03f599d84cec (patch)
treeb7c3d497477bab6e17691f5ef3e0cca6dbcac181
parent6f081b9dd3b797f2e396acd4544cf39dfd2f5604 (diff)
downloadzsh-dfb24f53ecfde8b69c899e48207c03f599d84cec.tar.gz
zsh-dfb24f53ecfde8b69c899e48207c03f599d84cec.tar.xz
zsh-dfb24f53ecfde8b69c899e48207c03f599d84cec.zip
16269: Fix crash on reserved-word completion.
-rw-r--r--ChangeLog4
-rw-r--r--Src/Zle/compctl.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 68a3dcb9e..350e8b085 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,10 @@
 
 2001-11-21  Bart Schaefer  <schaefer@zsh.org>
 
+	* 16269: Src/Zle/compctl.c: Use allocated strings when adding
+	matches for hash table entries, as the pattern match code may
+	attempt to modify them.  (Fixes crash reported in 16235.)
+
 	* Sven: 16249: Src/parse.c: Clear pending here-documents upon a
 	parse error.
 
diff --git a/Src/Zle/compctl.c b/Src/Zle/compctl.c
index 56de52e46..b4981a842 100644
--- a/Src/Zle/compctl.c
+++ b/Src/Zle/compctl.c
@@ -2096,7 +2096,7 @@ dumphashtable(HashTable ht, int what)
 
     for (i = 0; i < ht->hsize; i++)
 	for (hn = ht->nodes[i]; hn; hn = hn->next)
-	    addmatch(hn->nam, (char *) hn);
+	    addmatch(dupstring(hn->nam), (char *) hn);
 }
 
 /* ScanFunc used by maketildelist() et al. */