Issue #12464: tempfile.TemporaryDirectory.cleanup() should not follow symlinks:
fix it. Patch by Petri Lehtinen.
diff --git a/Lib/tempfile.py b/Lib/tempfile.py
index b28d91f..48b77a8 100644
--- a/Lib/tempfile.py
+++ b/Lib/tempfile.py
@@ -661,6 +661,7 @@
     _listdir = staticmethod(_os.listdir)
     _path_join = staticmethod(_os.path.join)
     _isdir = staticmethod(_os.path.isdir)
+    _islink = staticmethod(_os.path.islink)
     _remove = staticmethod(_os.remove)
     _rmdir = staticmethod(_os.rmdir)
     _os_error = _os.error
@@ -672,7 +673,7 @@
         for name in self._listdir(path):
             fullname = self._path_join(path, name)
             try:
-                isdir = self._isdir(fullname)
+                isdir = self._isdir(fullname) and not self._islink(fullname)
             except self._os_error:
                 isdir = False
             if isdir: