From: Benjamin Peterson Date: Wed, 25 Aug 2010 23:17:42 +0000 (+0000) Subject: Merged revisions 84320 via svnmerge from X-Git-Tag: v2.7.1rc1~364 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6f3d6a9b2369dd68970bd47e85b27ee624580aaa;p=python Merged revisions 84320 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r84320 | benjamin.peterson | 2010-08-25 18:13:17 -0500 (Wed, 25 Aug 2010) | 1 line basicsize and itemsize are Py_ssize_t #9688 ........ --- diff --git a/Lib/test/test_types.py b/Lib/test/test_types.py index 21e8b960ee..60f6d2f1e2 100644 --- a/Lib/test/test_types.py +++ b/Lib/test/test_types.py @@ -741,6 +741,11 @@ class TypesTests(unittest.TestCase): for code in 'xXobns': self.assertRaises(ValueError, format, 0, ',' + code) + def test_internal_sizes(self): + self.assertGreater(object.__basicsize__, 0) + self.assertGreater(tuple.__itemsize__, 0) + + def test_main(): with check_py3k_warnings( ("buffer.. not supported", DeprecationWarning), diff --git a/Misc/NEWS b/Misc/NEWS index ed5f442551..fcd4ae0061 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -14,6 +14,8 @@ Core and Builtins - Restore GIL in nis_cat in case of error. +- Issue #9688: __basicsize__ and __itemsize__ must be accessed as Py_ssize_t. + - Issue #8530: Prevent stringlib fastsearch from reading beyond the front of an array. diff --git a/Objects/typeobject.c b/Objects/typeobject.c index 493987aeb8..d262168120 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -188,8 +188,8 @@ assign_version_tag(PyTypeObject *type) static PyMemberDef type_members[] = { - {"__basicsize__", T_INT, offsetof(PyTypeObject,tp_basicsize),READONLY}, - {"__itemsize__", T_INT, offsetof(PyTypeObject, tp_itemsize), READONLY}, + {"__basicsize__", T_PYSSIZET, offsetof(PyTypeObject,tp_basicsize),READONLY}, + {"__itemsize__", T_PYSSIZET, offsetof(PyTypeObject, tp_itemsize), READONLY}, {"__flags__", T_LONG, offsetof(PyTypeObject, tp_flags), READONLY}, {"__weakrefoffset__", T_LONG, offsetof(PyTypeObject, tp_weaklistoffset), READONLY},