[Python-checkins] r57591 - sandbox/trunk/import_in_py/zipimport_/tests.py sandbox/trunk/import_in_py/zipimport_/zipimport.py

brett.cannon python-checkins at python.org
Tue Aug 28 02:15:19 CEST 2007


Author: brett.cannon
Date: Tue Aug 28 02:15:19 2007
New Revision: 57591

Modified:
   sandbox/trunk/import_in_py/zipimport_/tests.py
   sandbox/trunk/import_in_py/zipimport_/zipimport.py
Log:
Stop an infinite loop of an absolute path is passed in.


Modified: sandbox/trunk/import_in_py/zipimport_/tests.py
==============================================================================
--- sandbox/trunk/import_in_py/zipimport_/tests.py	(original)
+++ sandbox/trunk/import_in_py/zipimport_/tests.py	Tue Aug 28 02:15:19 2007
@@ -84,6 +84,11 @@
             finally:
                 test_support.unlink(test_support.TESTFN)
 
+    def test_root(self):
+        self.assertRaises(zipimport.ZipImportError, zipimport.zipimporter,
+                            os.sep)
+
+
     def test_direct_path(self):
         # A zipfile should return an instance of zipimporter.
         with temp_zipfile() as zip_path:

Modified: sandbox/trunk/import_in_py/zipimport_/zipimport.py
==============================================================================
--- sandbox/trunk/import_in_py/zipimport_/zipimport.py	(original)
+++ sandbox/trunk/import_in_py/zipimport_/zipimport.py	Tue Aug 28 02:15:19 2007
@@ -34,7 +34,7 @@
 
         """
         path = archivepath
-        while path:
+        while path and path != os.sep:
             if zipfile.is_zipfile(path):
                 break
             path = os.path.split(path)[0]


More information about the Python-checkins mailing list