Commit db5f8fcd authored by Victor Stinner's avatar Victor Stinner

(Merge 3.4) Issue #11259: asynchat.async_chat().set_terminator() now raises a

ValueError if the number of received bytes is negative.
parents 7b9328f5 630a4f63
......@@ -99,6 +99,8 @@ class async_chat(asyncore.dispatcher):
"""
if isinstance(term, str) and self.use_encoding:
term = bytes(term, self.encoding)
elif isinstance(term, int) and term < 0:
raise ValueError('the number of received bytes must be positive')
self.terminator = term
def get_terminator(self):
......
......@@ -311,5 +311,13 @@ class TestFifo(unittest.TestCase):
self.assertEqual(f.pop(), (0, None))
class TestNotConnected(unittest.TestCase):
def test_disallow_negative_terminator(self):
# Issue #11259
client = asynchat.async_chat()
self.assertRaises(ValueError, client.set_terminator, -1)
if __name__ == "__main__":
unittest.main()
......@@ -108,6 +108,9 @@ Core and Builtins
Library
-------
- Issue #11259: asynchat.async_chat().set_terminator() now raises a ValueError
if the number of received bytes is negative.
- Issue #12523: asynchat.async_chat.push() now raises a TypeError if it doesn't
get a bytes string
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment