diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2015-02-21 01:19:58 +0200 |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2015-02-21 01:19:58 +0200 |
commit | a1543cdcd65d9a2be302be0da0cfb9c53c17f806 (patch) | |
tree | 7ba2b613d33502b42980963742118e5998aeac25 /Lib/test/test_multibytecodec.py | |
parent | a3712a9a6c9a05de287d2403cdb5aecbc417ce93 (diff) | |
download | cpython-git-a1543cdcd65d9a2be302be0da0cfb9c53c17f806.tar.gz |
Issue #23215: Multibyte codecs with custom error handlers that ignores errors
consumed too much memory and raised SystemError or MemoryError.
Original patch by Aleksi Torhamo.
Diffstat (limited to 'Lib/test/test_multibytecodec.py')
-rw-r--r-- | Lib/test/test_multibytecodec.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Lib/test/test_multibytecodec.py b/Lib/test/test_multibytecodec.py index ce267ddeb3..2929f988a8 100644 --- a/Lib/test/test_multibytecodec.py +++ b/Lib/test/test_multibytecodec.py @@ -44,6 +44,13 @@ class Test_MultibyteCodec(unittest.TestCase): self.assertRaises(IndexError, dec, b'apple\x92ham\x93spam', 'test.cjktest') + def test_errorcallback_custom_ignore(self): + # Issue #23215: MemoryError with custom error handlers and multibyte codecs + data = 100 * "\udc00" + codecs.register_error("test.ignore", codecs.ignore_errors) + for enc in ALL_CJKENCODINGS: + self.assertEqual(data.encode(enc, "test.ignore"), b'') + def test_codingspec(self): try: for enc in ALL_CJKENCODINGS: |