#4298: pickle.load() can segfault on invalid or truncated input.

Patch and test by Hirokazu Yamamoto.
This commit is contained in:
Amaury Forgeot d'Arc 2008-11-11 20:05:06 +00:00
parent 3bae65bacd
commit 3e4e72f66f
3 changed files with 13 additions and 1 deletions

View file

@ -1032,6 +1032,11 @@ class AbstractPickleModuleTests(unittest.TestCase):
self.assertRaises(pickle.PicklingError, BadPickler().dump, 0)
self.assertRaises(pickle.UnpicklingError, BadUnpickler().load)
def test_bad_input(self):
# Test issue4298
s = bytes([0x58, 0, 0, 0, 0x54])
self.assertRaises(EOFError, pickle.loads, s)
class AbstractPersistentPicklerTests(unittest.TestCase):