(Merge 3.4) Issue #11259: asynchat.async_chat().set_terminator() now raises a
ValueError if the number of received bytes is negative.
This commit is contained in:
commit
db5f8fcde6
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue