From: Mark Shannon Date: Thu, 10 Feb 2022 12:14:57 +0000 (+0000) Subject: Fix sys.getdxp() when configured with --enable-pystats. (GH-31251) X-Git-Tag: v3.11.0a6~247 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4f21d528f0fc29c861c5461c9fa60bc532b0d300;p=thirdparty%2FPython%2Fcpython.git Fix sys.getdxp() when configured with --enable-pystats. (GH-31251) --- diff --git a/Python/ceval.c b/Python/ceval.c index 958ca11409c3..7e19043c7aa6 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -7459,7 +7459,7 @@ _Py_GetDXProfile(PyObject *self, PyObject *args) int i; PyObject *l = PyList_New(257); if (l == NULL) return NULL; - for (i = 0; i < 257; i++) { + for (i = 0; i < 256; i++) { PyObject *x = getarray(_py_stats.opcode_stats[i].pair_count); if (x == NULL) { Py_DECREF(l); @@ -7467,6 +7467,22 @@ _Py_GetDXProfile(PyObject *self, PyObject *args) } PyList_SET_ITEM(l, i, x); } + PyObject *counts = PyList_New(256); + if (counts == NULL) { + Py_DECREF(l); + return NULL; + } + for (i = 0; i < 256; i++) { + PyObject *x = PyLong_FromUnsignedLongLong( + _py_stats.opcode_stats[i].execution_count); + if (x == NULL) { + Py_DECREF(counts); + Py_DECREF(l); + return NULL; + } + PyList_SET_ITEM(counts, i, x); + } + PyList_SET_ITEM(l, 256, counts); return l; }