33 lines
1.2 KiB
Diff
33 lines
1.2 KiB
Diff
# UNDF: UNDF-2026-000000658
|
|
--- a/salt/cloud/__init__.py
|
|
+++ b/salt/cloud/__init__.py
|
|
@@ -1830,18 +1830,18 @@ class Map(Cloud):
|
|
def _has_loop(self, dmap, seen=None, val=None):
|
|
if seen is None:
|
|
for values in dmap["create"].values():
|
|
- seen = []
|
|
+ seen = set()
|
|
try:
|
|
machines = values["requires"]
|
|
except KeyError:
|
|
machines = []
|
|
for machine in machines:
|
|
- if self._has_loop(dmap, seen=list(seen), val=machine):
|
|
+ if self._has_loop(dmap, seen=set(seen), val=machine):
|
|
return True
|
|
else:
|
|
if val in seen:
|
|
return True
|
|
|
|
- seen.append(val)
|
|
+ seen.add(val)
|
|
try:
|
|
machines = dmap["create"][val]["requires"]
|
|
except KeyError:
|
|
machines = []
|
|
|
|
for machine in machines:
|
|
- if self._has_loop(dmap, seen=list(seen), val=machine):
|
|
+ if self._has_loop(dmap, seen=set(seen), val=machine):
|
|
return True
|
|
return False
|