summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_ssl.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index 8dcd3b6..fdaf1c5 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -1393,6 +1393,16 @@ class SSLErrorTests(unittest.TestCase):
# For compatibility
self.assertEqual(cm.exception.errno, ssl.SSL_ERROR_WANT_READ)
+ def test_bad_idna_in_server_hostname(self):
+ # Note: this test is testing some code that probably shouldn't exist
+ # in the first place, so if it starts failing at some point because
+ # you made the ssl module stop doing IDNA decoding then please feel
+ # free to remove it. The test was mainly added because this case used
+ # to cause memory corruption (see bpo-30594).
+ ctx = ssl.create_default_context()
+ with self.assertRaises(UnicodeError):
+ ctx.wrap_bio(ssl.MemoryBIO(), ssl.MemoryBIO(),
+ server_hostname="xn--.com")
class MemoryBIOTests(unittest.TestCase):