SF Patch #1297028, cjkcodecs does not initialize type pointer
Fix segfault. I tried to write a test, but it wouldn't crash
when running regrtest. This really should have some sort of test.
Should definitely be backported.
diff --git a/Misc/NEWS b/Misc/NEWS
index 293ba2f..9144f5d 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -149,6 +149,9 @@
Extension Modules
-----------------
+- Patch #1297028: fix segfault if call type on MultibyteCodec,
+ MultibyteStreamReader, or MultibyteStreamWriter
+
- Fix memory leak in posix.access().
- Patch #1213831: Fix typo in unicodedata._getcode.
diff --git a/Modules/cjkcodecs/multibytecodec.c b/Modules/cjkcodecs/multibytecodec.c
index 4444941..7d2d15e 100644
--- a/Modules/cjkcodecs/multibytecodec.c
+++ b/Modules/cjkcodecs/multibytecodec.c
@@ -1265,6 +1265,10 @@
void
init_multibytecodec(void)
{
+ MultibyteCodec_Type.ob_type = &PyType_Type;
+ MultibyteStreamReader_Type.ob_type = &PyType_Type;
+ MultibyteStreamWriter_Type.ob_type = &PyType_Type;
+
Py_InitModule("_multibytecodec", __methods);
if (PyErr_Occurred())