From 4b1e98b0af68ee80a37618ad599ead194f179cf1 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Wed, 28 Dec 2016 16:02:59 -0800 Subject: [PATCH] Issue #29079: Prevent infinite loop in pathlib.resolve() on Windows --- Lib/pathlib.py | 4 +++- Misc/NEWS | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Lib/pathlib.py b/Lib/pathlib.py index 69653938ef7..0484dacd791 100644 --- a/Lib/pathlib.py +++ b/Lib/pathlib.py @@ -192,7 +192,9 @@ class _WindowsFlavour(_Flavour): s = self._ext_to_normal(_getfinalpathname(s)) except FileNotFoundError: previous_s = s - s = os.path.abspath(os.path.join(s, os.pardir)) + s = os.path.dirname(s) + if previous_s == s: + return path else: if previous_s is None: return s diff --git a/Misc/NEWS b/Misc/NEWS index 176b1e9e1c0..1112257a28a 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -40,6 +40,8 @@ Core and Builtins Library ------- +- Issue #29079: Prevent infinite loop in pathlib.resolve() on Windows + - Issue #13051: Fixed recursion errors in large or resized curses.textpad.Textbox. Based on patch by Tycho Andersen.