diff --git a/ChangeLog b/ChangeLog
index 6ca4b5e62..5430676ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2009-09-30 Peter Stephenson
+
+ * http://www.opensource.apple.com/source/zsh/zsh-53/patches/utils.c.patch:
+ Src/utils.c: fix length of search when spell checking.
+
+ * http://www.opensource.apple.com/source/zsh/zsh-53/patches/PR-6370391.patch:
+ Src/jobs.c: fix error message.
+
2009-09-29 Peter Stephenson
* Jun T.: 27296: configure.ac: bad preprocessing of Mac OS
@@ -12225,5 +12233,5 @@
*****************************************************
* This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.4789 $
+* $Revision: 1.4790 $
*****************************************************
diff --git a/Src/jobs.c b/Src/jobs.c
index d5658d2eb..d0916174f 100644
--- a/Src/jobs.c
+++ b/Src/jobs.c
@@ -2113,7 +2113,7 @@ bin_kill(char *nam, char **argv, UNUSED(Options ops), UNUSED(int func))
}
sig = zstrtol(*argv, &endp, 10);
if (*endp) {
- zwarnnam(nam, "invalid signal number: %s", signame);
+ zwarnnam(nam, "invalid signal number: %s", *argv);
return 1;
}
} else {
diff --git a/Src/utils.c b/Src/utils.c
index b807eea08..230951ffc 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -3427,8 +3427,11 @@ spname(char *oldname)
* otherwise a copy of oldname with a corrected prefix is returned. *
* Rationale for this, if there ever was any, has been forgotten. */
for (;;) {
- while (*old == '/')
+ while (*old == '/') {
+ if ((new - newname) >= (sizeof(newname)-1))
+ return NULL;
*new++ = *old++;
+ }
*new = '\0';
if (*old == '\0')
return newname;