don't index outside of the path (closes #22312)
diff --git a/Lib/ntpath.py b/Lib/ntpath.py
index 228bbb3..fcaf21b 100644
--- a/Lib/ntpath.py
+++ b/Lib/ntpath.py
@@ -113,7 +113,7 @@
"""
if len(p) > 1:
normp = p.replace(altsep, sep)
- if (normp[0:2] == sep*2) and (normp[2] != sep):
+ if (normp[0:2] == sep*2) and (normp[2:3] != sep):
# is a UNC path:
# vvvvvvvvvvvvvvvvvvvv drive letter or UNC path
# \\machine\mountpoint\directory\etc\...
diff --git a/Lib/test/test_ntpath.py b/Lib/test/test_ntpath.py
index 78af18c..7b5f7bb 100644
--- a/Lib/test/test_ntpath.py
+++ b/Lib/test/test_ntpath.py
@@ -50,6 +50,7 @@
# Issue #19911: UNC part containing U+0130
self.assertEqual(ntpath.splitdrive(u'//conky/MOUNTPOİNT/foo/bar'),
(u'//conky/MOUNTPOİNT', '/foo/bar'))
+ self.assertEqual(ntpath.splitdrive("//"), ("", "//"))
def test_splitunc(self):
tester('ntpath.splitunc("c:\\foo\\bar")',
diff --git a/Misc/NEWS b/Misc/NEWS
index 5d80034..d139e7b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -19,6 +19,8 @@
Library
-------
+- Issue #22312: Fix ntpath.splitdrive IndexError.
+
- Issue #22216: smtplib now resets its state more completely after a quit. The
most obvious consequence of the previous behavior was a STARTTLS failure
during a connect/starttls/quit/connect/starttls sequence.