From: Victor Stinner Date: Fri, 7 Feb 2020 10:18:33 +0000 (+0100) Subject: bpo-39573: Use Py_TYPE() macro in object.c (GH-18398) X-Git-Tag: v3.9.0a4~105 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c65b320a95784d2b2133926921d67ac439259e9f;p=thirdparty%2FPython%2Fcpython.git bpo-39573: Use Py_TYPE() macro in object.c (GH-18398) Replace direct acccess to PyVarObject.ob_size with usage of the Py_SIZE() macro. --- diff --git a/Objects/object.c b/Objects/object.c index 503fb867802c..ff6c497900cf 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -1041,13 +1041,11 @@ _PyObject_GetDictPtr(PyObject *obj) if (dictoffset == 0) return NULL; if (dictoffset < 0) { - Py_ssize_t tsize; - size_t size; - - tsize = ((PyVarObject *)obj)->ob_size; - if (tsize < 0) + Py_ssize_t tsize = Py_SIZE(obj); + if (tsize < 0) { tsize = -tsize; - size = _PyObject_VAR_SIZE(tp, tsize); + } + size_t size = _PyObject_VAR_SIZE(tp, tsize); dictoffset += (long)size; _PyObject_ASSERT(obj, dictoffset > 0); @@ -1219,13 +1217,11 @@ _PyObject_GenericGetAttrWithDict(PyObject *obj, PyObject *name, dictoffset = tp->tp_dictoffset; if (dictoffset != 0) { if (dictoffset < 0) { - Py_ssize_t tsize; - size_t size; - - tsize = ((PyVarObject *)obj)->ob_size; - if (tsize < 0) + Py_ssize_t tsize = Py_SIZE(obj); + if (tsize < 0) { tsize = -tsize; - size = _PyObject_VAR_SIZE(tp, tsize); + } + size_t size = _PyObject_VAR_SIZE(tp, tsize); _PyObject_ASSERT(obj, size <= PY_SSIZE_T_MAX); dictoffset += (Py_ssize_t)size;