]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Avoid using items() in environ.update(). Fixes #1124513.
authorMartin v. Löwis <martin@v.loewis.de>
Thu, 17 Feb 2005 21:23:42 +0000 (21:23 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Thu, 17 Feb 2005 21:23:42 +0000 (21:23 +0000)
Lib/os.py

index b34e413553e7a4608159a0f60ec0a899bdd19ff0..514d440b28152a54989b67226f0c788a00f687d8 100644 (file)
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -438,12 +438,17 @@ else:
             def update(self, dict=None, **kwargs):
                 if dict:
                     try:
-                        items = dict.items()
+                        keys = dict.keys()
                     except AttributeError:
                         # List of (key, value)
-                        items = dict
-                    for k, v in items:
-                        self[k] = v
+                        for k, v in dict:
+                            self[k] = v
+                    else:
+                        # got keys
+                        # cannot use items(), since mappings
+                        # may not have them.
+                        for k in keys:
+                            self[k] = dict[k]
                 if kwargs:
                     self.update(kwargs)
             def copy(self):
@@ -460,12 +465,17 @@ else:
             def update(self,  dict=None, **kwargs):
                 if dict:
                     try:
-                        items = dict.items()
+                        keys = dict.keys()
                     except AttributeError:
                         # List of (key, value)
-                        items = dict
-                    for k, v in items:
-                        self[k] = v
+                        for k, v in dict:
+                            self[k] = v
+                    else:
+                        # got keys
+                        # cannot use items(), since mappings
+                        # may not have them.
+                        for k in keys:
+                            self[k] = dict[k]
                 if kwargs:
                     self.update(kwargs)
             try: