7037978 perform_final_validation() sometimes modifies the desired target
authorDrew Fisher <drew.fisher@oracle.com>
Wed, 20 Apr 2011 22:44:29 -0700
changeset 1086 f08417492bbc
parent 1085 3d8b43a50cbe
child 1087 96b6cc8130c5
7037978 perform_final_validation() sometimes modifies the desired target
usr/src/lib/install_target/__init__.py
--- a/usr/src/lib/install_target/__init__.py	Wed Apr 20 19:38:55 2011 -0700
+++ b/usr/src/lib/install_target/__init__.py	Wed Apr 20 22:44:29 2011 -0700
@@ -75,9 +75,10 @@
                 # recurse
                 self.validate_node(child)
             else:
-                # this child object has no children, so insert it and check the
-                # errsvc
-                node_copy.insert_children(child)
+                # This child object has no children.  Make a copy of it, insert
+                # it into node_copy and check the errsvc
+                child_copy = copy.copy(child)
+                node_copy.insert_children(child_copy)
                 if errsvc._ERRORS:
                     raise Target.InvalidError("DOC object which caused the " +
                                               "failure: " + str(child))