From: Avery Pennarun Date: Mon, 26 Jul 2010 04:52:41 +0000 (-0400) Subject: cmd/ftp: don't let people cd into a non-directory. X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=830c276062bd275d4272111bd685fe49e9bbdffc;p=packages%2Fb%2Fbup.git 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 --- 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':