From 5d569c4aaf5602f80640f82a6359ec4f73345366 Mon Sep 17 00:00:00 2001 From: Daira Hopwood Date: Mon, 19 Oct 2015 18:24:33 +0100 Subject: [PATCH] Fix check for initial '-' in argv_to_abspath. Signed-off-by: Daira Hopwood --- src/allmydata/util/encodingutil.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/allmydata/util/encodingutil.py b/src/allmydata/util/encodingutil.py index 14751205..f97c4822 100644 --- a/src/allmydata/util/encodingutil.py +++ b/src/allmydata/util/encodingutil.py @@ -95,15 +95,17 @@ def argv_to_unicode(s): except UnicodeDecodeError: raise usage.UsageError("Argument %s cannot be decoded as %s." % (quote_output(s), io_encoding)) - if local_dir.startswith('-'): - raise usage.UsageError("Argument %s cannot start with a -." % (quote_output(s),)) def argv_to_abspath(s): """ Convenience function to decode an argv element to an absolute path, with ~ expanded. If this fails, raise a UsageError. """ - return abspath_expanduser_unicode(argv_to_unicode(s)) + decoded = argv_to_unicode(s) + if decoded.startswith(u'-'): + raise usage.UsageError("Path argument %s cannot start with '-'.\nUse %s if you intended to refer to a file." + % (quote_output(s), quote_output(os.path.join('.', s)))) + return abspath_expanduser_unicode(decoded) def unicode_to_argv(s, mangle=False): """ -- 2.45.2