Kaydet (Commit) 541067a6 authored tarafından Victor Stinner's avatar Victor Stinner

Issue #19437: Fix array.buffer_info(), handle PyLong_FromVoidPtr() and

PyLong_FromLong() failure
üst 804e05e8
...@@ -1133,13 +1133,25 @@ Insert a new item x into the array before position i."); ...@@ -1133,13 +1133,25 @@ Insert a new item x into the array before position i.");
static PyObject * static PyObject *
array_buffer_info(arrayobject *self, PyObject *unused) array_buffer_info(arrayobject *self, PyObject *unused)
{ {
PyObject* retval = NULL; PyObject *retval = NULL, *v;
retval = PyTuple_New(2); retval = PyTuple_New(2);
if (!retval) if (!retval)
return NULL; return NULL;
PyTuple_SET_ITEM(retval, 0, PyLong_FromVoidPtr(self->ob_item)); v = PyLong_FromVoidPtr(self->ob_item);
PyTuple_SET_ITEM(retval, 1, PyLong_FromLong((long)(Py_SIZE(self)))); if (v == NULL) {
Py_DECREF(retval);
return NULL;
}
PyTuple_SET_ITEM(retval, 0, v);
v = PyLong_FromLong((long)(Py_SIZE(self)));
if (v == NULL) {
Py_DECREF(retval);
return NULL;
}
PyTuple_SET_ITEM(retval, 1, v);
return retval; return retval;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment