about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--Src/utils.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5bfda7c85..01f1cb8f9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-11-03  Peter Stephenson  <pws@csr.com>
+
+	* Mikael: 27337: Src/utils.c: fix bug with cd checking symlinks
+	that could do arbitrarily nasty things when looking for a "/".
+
 2009-10-29  Peter Stephenson  <pws@csr.com>
 
 	* unposted: Functions/Calendar/calendar: brief display
@@ -12281,5 +12286,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.4799 $
+* $Revision: 1.4800 $
 *****************************************************
diff --git a/Src/utils.c b/Src/utils.c
index 230951ffc..bb18eb859 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -691,6 +691,8 @@ xsymlinks(char *s)
 	    zsfree(*pp);
 	    if (!strcmp(xbuf, "/"))
 		continue;
+	    if (!*xbuf)
+		continue;
 	    p = xbuf + strlen(xbuf);
 	    while (*--p != '/');
 	    *p = '\0';