--- a/mercurial/hgweb/common.py Sat Mar 03 14:21:47 2018 -0500
+++ b/mercurial/hgweb/common.py Sat Mar 03 12:34:35 2018 -0500
@@ -138,7 +138,7 @@
"""Determine if a path is safe to use for filesystem access."""
parts = path.split('/')
for part in parts:
- if (part in ('', os.curdir, os.pardir) or
+ if (part in ('', os.curdir, pycompat.ospardir) or
pycompat.ossep in part or
pycompat.osaltsep is not None and pycompat.osaltsep in part):
return False
--- a/mercurial/pathutil.py Sat Mar 03 14:21:47 2018 -0500
+++ b/mercurial/pathutil.py Sat Mar 03 12:34:35 2018 -0500
@@ -65,7 +65,7 @@
parts = util.splitpath(path)
if (os.path.splitdrive(path)[0]
or _lowerclean(parts[0]) in ('.hg', '.hg.', '')
- or os.pardir in parts):
+ or pycompat.ospardir in parts):
raise error.Abort(_("path contains illegal component: %s") % path)
# Windows shortname aliases
for p in parts:
--- a/mercurial/pycompat.py Sat Mar 03 14:21:47 2018 -0500
+++ b/mercurial/pycompat.py Sat Mar 03 12:34:35 2018 -0500
@@ -51,6 +51,7 @@
oslinesep = os.linesep.encode('ascii')
osname = os.name.encode('ascii')
ospathsep = os.pathsep.encode('ascii')
+ ospardir = os.pardir.encode('ascii')
ossep = os.sep.encode('ascii')
osaltsep = os.altsep
if osaltsep:
@@ -323,6 +324,7 @@
oslinesep = os.linesep
osname = os.name
ospathsep = os.pathsep
+ ospardir = os.pardir
ossep = os.sep
osaltsep = os.altsep
stdin = sys.stdin
--- a/mercurial/templater.py Sat Mar 03 14:21:47 2018 -0500
+++ b/mercurial/templater.py Sat Mar 03 12:34:35 2018 -0500
@@ -1600,7 +1600,7 @@
for style in styles:
# only plain name is allowed to honor template paths
if (not style
- or style in (os.curdir, os.pardir)
+ or style in (os.curdir, pycompat.ospardir)
or pycompat.ossep in style
or pycompat.osaltsep and pycompat.osaltsep in style):
continue