about summary refs log tree commit diff
path: root/Src/builtin.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@zsh.org>2015-08-21 10:04:13 +0100
committerPeter Stephenson <pws@zsh.org>2015-08-21 10:04:13 +0100
commit61afb8dc8d75106940ac4248632cb14823a3650e (patch)
treee557d9c3a3bcc506f12fe7a4b7ca5fd48680e1c8 /Src/builtin.c
parent364e1717f06ff4ac8ec3b9d605ae7c272fa73ff4 (diff)
downloadzsh-61afb8dc8d75106940ac4248632cb14823a3650e.tar.gz
zsh-61afb8dc8d75106940ac4248632cb14823a3650e.tar.xz
zsh-61afb8dc8d75106940ac4248632cb14823a3650e.zip
36262: Replace fix for missing unmeta in chdir().
It was needed in the argument to one of a pair of lchdir()s rather
than within zchdir().

Add tests for the case of a character with 0x83 within it.
Diffstat (limited to 'Src/builtin.c')
-rw-r--r--Src/builtin.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Src/builtin.c b/Src/builtin.c
index 572a0dd68..3d34aa74c 100644
--- a/Src/builtin.c
+++ b/Src/builtin.c
@@ -1163,7 +1163,7 @@ cd_try_chdir(char *pfix, char *dest, int hard)
      * or a parent directory is renamed in the interim.
      */
     if (lchdir(buf, NULL, hard) &&
-	(pfix || *dest == '/' || lchdir(dest, NULL, hard))) {
+	(pfix || *dest == '/' || lchdir(unmeta(dest), NULL, hard))) {
 	free(buf);
 	return NULL;
     }