]> granicus.if.org Git - python/commitdiff
Fix fuzz testing for marshal.loads(). (GH-8106)
authorSerhiy Storchaka <storchaka@gmail.com>
Thu, 5 Jul 2018 09:19:19 +0000 (12:19 +0300)
committerGitHub <noreply@github.com>
Thu, 5 Jul 2018 09:19:19 +0000 (12:19 +0300)
Lib/test/test_marshal.py

index a20ad677c8701a012f1f091d3ba33f30b730bb91..a3bd350c77b95bf63497373cf32cc7a4f87686e8 100644 (file)
@@ -192,8 +192,8 @@ class BugsTestCase(unittest.TestCase):
         marshal.dumps([128] * 1000)
 
     def test_patch_873224(self):
-        self.assertRaises(Exception, marshal.loads, '0')
-        self.assertRaises(Exception, marshal.loads, 'f')
+        self.assertRaises(Exception, marshal.loads, b'0')
+        self.assertRaises(Exception, marshal.loads, b'f')
         self.assertRaises(Exception, marshal.loads, marshal.dumps(2**65)[:-1])
 
     def test_version_argument(self):
@@ -204,7 +204,8 @@ class BugsTestCase(unittest.TestCase):
     def test_fuzz(self):
         # simple test that it's at least not *totally* trivial to
         # crash from bad marshal data
-        for c in [chr(i) for i in range(256)]:
+        for i in range(256):
+            c = bytes([i])
             try:
                 marshal.loads(c)
             except Exception:
@@ -318,7 +319,7 @@ class BugsTestCase(unittest.TestCase):
             self.assertRaises(ValueError, marshal.load,
                               BadReader(marshal.dumps(value)))
 
-    def _test_eof(self):
+    def test_eof(self):
         data = marshal.dumps(("hello", "dolly", None))
         for i in range(len(data)):
             self.assertRaises(EOFError, marshal.loads, data[0: i])