Kaydet (Commit) 354797cc authored tarafından Guido van Rossum's avatar Guido van Rossum

Fix the final two issues in Armin Rigo's SF bug #488477: apply_slice()

and assign_slice() weren't properly DECREF'ing the temporary slice
object they created.  (Shame on me. :-)
üst bb8f59a3
......@@ -3398,8 +3398,11 @@ apply_slice(PyObject *u, PyObject *v, PyObject *w) /* return u[v:w] */
}
else {
PyObject *slice = PySlice_New(v, w, NULL);
if (slice != NULL)
return PyObject_GetItem(u, slice);
if (slice != NULL) {
PyObject *res = PyObject_GetItem(u, slice);
Py_DECREF(slice);
return res;
}
else
return NULL;
}
......@@ -3426,10 +3429,13 @@ assign_slice(PyObject *u, PyObject *v, PyObject *w, PyObject *x)
else {
PyObject *slice = PySlice_New(v, w, NULL);
if (slice != NULL) {
int res;
if (x != NULL)
return PyObject_SetItem(u, slice, x);
res = PyObject_SetItem(u, slice, x);
else
return PyObject_DelItem(u, slice);
res = PyObject_DelItem(u, slice);
Py_DECREF(slice);
return res;
}
else
return -1;
......
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