excellent place to use a set() #5069
diff --git a/Lib/posixpath.py b/Lib/posixpath.py
index 9fa53d0..6eb45fd 100644
--- a/Lib/posixpath.py
+++ b/Lib/posixpath.py
@@ -369,12 +369,12 @@
until we either arrive at something that isn't a symlink, or
encounter a path we've seen before (meaning that there's a loop).
"""
- paths_seen = []
+ paths_seen = set()
while islink(path):
if path in paths_seen:
# Already seen this path, so we must have a symlink loop
return None
- paths_seen.append(path)
+ paths_seen.add(path)
# Resolve where the link points to
resolved = os.readlink(path)
if not isabs(resolved):