Issue #19437: Cleanup r_ref() of the marshal module

This commit is contained in:
Victor Stinner 2013-10-31 17:09:01 +01:00
parent d5cae6f143
commit 359fabc19f
1 changed files with 6 additions and 5 deletions

View File

@ -827,11 +827,12 @@ r_ref_insert(PyObject *o, Py_ssize_t idx, int flag, RFILE *p)
static PyObject *
r_ref(PyObject *o, int flag, RFILE *p)
{
if (o != NULL && flag) { /* currently only FLAG_REF is defined */
if (PyList_Append(p->refs, o) < 0) {
Py_DECREF(o); /* release the new object */
return NULL;
}
assert(flag & FLAG_REF);
if (o == NULL)
return NULL;
if (PyList_Append(p->refs, o) < 0) {
Py_DECREF(o); /* release the new object */
return NULL;
}
return o;
}