ruamel yaml: fix quadratic complexity bug (#43745)

This commit is contained in:
Harmen Stoppels 2024-04-19 14:33:42 +02:00 committed by GitHub
parent d6154645c7
commit 74640987c7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 14 additions and 1 deletions

View file

@ -497,7 +497,7 @@ def copy_attributes(self, t, memo=None):
Tag.attrib, merge_attrib]: Tag.attrib, merge_attrib]:
if hasattr(self, a): if hasattr(self, a):
if memo is not None: if memo is not None:
setattr(t, a, copy.deepcopy(getattr(self, a, memo))) setattr(t, a, copy.deepcopy(getattr(self, a), memo))
else: else:
setattr(t, a, getattr(self, a)) setattr(t, a, getattr(self, a))
# fmt: on # fmt: on

View file

@ -0,0 +1,13 @@
diff --git a/lib/spack/external/_vendoring/ruamel/yaml/comments.py b/lib/spack/external/_vendoring/ruamel/yaml/comments.py
index 1badeda585..892c868af3 100644
--- a/lib/spack/external/_vendoring/ruamel/yaml/comments.py
+++ b/lib/spack/external/_vendoring/ruamel/yaml/comments.py
@@ -497,7 +497,7 @@ def copy_attributes(self, t, memo=None):
Tag.attrib, merge_attrib]:
if hasattr(self, a):
if memo is not None:
- setattr(t, a, copy.deepcopy(getattr(self, a, memo)))
+ setattr(t, a, copy.deepcopy(getattr(self, a), memo))
else:
setattr(t, a, getattr(self, a))
# fmt: on