diff -up ksh-20120801/src/cmd/ksh93/bltins/cd_pwd.c.cdfix ksh-20120801/src/cmd/ksh93/bltins/cd_pwd.c --- ksh-20120801/src/cmd/ksh93/bltins/cd_pwd.c.cdfix 2013-02-01 16:04:55.507150242 +0100 +++ ksh-20120801/src/cmd/ksh93/bltins/cd_pwd.c 2013-02-01 16:06:39.361007641 +0100 @@ -214,7 +214,10 @@ int b_cd(int argc, char *argv[],Shbltin_ if(*++dp=='.' && (*++dp=='/' || *dp==0)) n++; else if(*dp && *dp!='/') + { + dp--; break; + } if(*dp==0) break; }