From 830c276062bd275d4272111bd685fe49e9bbdffc Mon Sep 17 00:00:00 2001 From: Avery Pennarun Date: Mon, 26 Jul 2010 00:52:41 -0400 Subject: [PATCH] cmd/ftp: don't let people cd into a non-directory. This bug was relatively harmless (since you could also cd back out again) but kind of weird. Signed-off-by: Avery Pennarun --- cmd/ftp-cmd.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cmd/ftp-cmd.py b/cmd/ftp-cmd.py index 87194aa..0635f07 100755 --- a/cmd/ftp-cmd.py +++ b/cmd/ftp-cmd.py @@ -154,8 +154,12 @@ for line in lines: for parm in (words[1:] or ['.']): do_ls(parm, pwd.try_resolve(parm)) elif cmd == 'cd': + np = pwd for parm in words[1:]: - pwd = pwd.resolve(parm) + np = np.resolve(parm) + if not stat.S_ISDIR(np.mode): + raise vfs.NotDir('%s is not a directory' % parm) + pwd = np elif cmd == 'pwd': print pwd.fullname() elif cmd == 'cat': -- 2.39.2