about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--Src/subst.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 316f9bbdb..c996cb436 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2003-05-22  Peter Stephenson  <pws@csr.com>
 
+	* 18569: Src/subst.c: error with numeric sorting of parameters;
+	owing to typo pointers could become corrupt.
+
 	* 18559, 18562: README, Doc/Zsh/mod_socket.yo, Doc/Zsh/mod_tcp.yo,
 	Doc/Zsh/zle.yo, Src/zsh.h, Src/Modules/files.c,
 	Src/Modules/socket.c, Src/Modules/tcp.c Src/Zle/zle_keymap.c
diff --git a/Src/subst.c b/Src/subst.c
index 89ecbab7a..a84bfbd74 100644
--- a/Src/subst.c
+++ b/Src/subst.c
@@ -554,7 +554,7 @@ nstrpcmp(const void *a, const void *b)
     cmp = (int)STOUC(*c) - (int)STOUC(*d);
 #endif
     if (idigit(*c) || idigit(*d)) {
-	for (; c > *(char **)b && idigit(c[-1]); c--, d--);
+	for (; c > *(char **)a && idigit(c[-1]); c--, d--);
 	if (idigit(*c) && idigit(*d)) {
 	    while (*c == '0')
 		c++;