[Python-checkins] r65038 - in python/trunk: Lib/test/test_multibytecodec.py Modules/cjkcodecs/multibytecodec.c
georg.brandl
python-checkins at python.org
Thu Jul 17 00:04:20 CEST 2008
Author: georg.brandl
Date: Thu Jul 17 00:04:20 2008
New Revision: 65038
Log:
#3305: self->stream can be NULL.
Modified:
python/trunk/Lib/test/test_multibytecodec.py
python/trunk/Modules/cjkcodecs/multibytecodec.c
Modified: python/trunk/Lib/test/test_multibytecodec.py
==============================================================================
--- python/trunk/Lib/test/test_multibytecodec.py (original)
+++ python/trunk/Lib/test/test_multibytecodec.py Thu Jul 17 00:04:20 2008
@@ -8,6 +8,7 @@
from test import test_multibytecodec_support
from test.test_support import TESTFN
import unittest, StringIO, codecs, sys, os
+import _multibytecodec
ALL_CJKENCODINGS = [
# _codecs_cn
@@ -53,6 +54,14 @@
finally:
os.unlink(TESTFN)
+ def test_init_segfault(self):
+ # bug #3305: this used to segfault
+ self.assertRaises(AttributeError,
+ _multibytecodec.MultibyteStreamReader, None)
+ self.assertRaises(AttributeError,
+ _multibytecodec.MultibyteStreamWriter, None)
+
+
class Test_IncrementalEncoder(unittest.TestCase):
def test_stateless(self):
Modified: python/trunk/Modules/cjkcodecs/multibytecodec.c
==============================================================================
--- python/trunk/Modules/cjkcodecs/multibytecodec.c (original)
+++ python/trunk/Modules/cjkcodecs/multibytecodec.c Thu Jul 17 00:04:20 2008
@@ -1484,7 +1484,7 @@
{
PyObject_GC_UnTrack(self);
ERROR_DECREF(self->errors);
- Py_DECREF(self->stream);
+ Py_XDECREF(self->stream);
Py_TYPE(self)->tp_free(self);
}
@@ -1686,7 +1686,7 @@
{
PyObject_GC_UnTrack(self);
ERROR_DECREF(self->errors);
- Py_DECREF(self->stream);
+ Py_XDECREF(self->stream);
Py_TYPE(self)->tp_free(self);
}
More information about the Python-checkins
mailing list