[Python-checkins] Fix fuzz testing for marshal.loads(). (GH-8106)

Serhiy Storchaka webhook-mailer at python.org
Thu Jul 5 05:19:29 EDT 2018


https://github.com/python/cpython/commit/09bb918a61031377d720f1a0fa1fe53c962791b6
commit: 09bb918a61031377d720f1a0fa1fe53c962791b6
branch: master
author: Serhiy Storchaka <storchaka at gmail.com>
committer: GitHub <noreply at github.com>
date: 2018-07-05T12:19:19+03:00
summary:

Fix fuzz testing for marshal.loads(). (GH-8106)

files:
M Lib/test/test_marshal.py

diff --git a/Lib/test/test_marshal.py b/Lib/test/test_marshal.py
index a20ad677c870..a3bd350c77b9 100644
--- a/Lib/test/test_marshal.py
+++ b/Lib/test/test_marshal.py
@@ -192,8 +192,8 @@ def test_bug_5888452(self):
         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 @@ def test_version_argument(self):
     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 @@ def readinto(self, buf):
             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])



More information about the Python-checkins mailing list