Commit e8651286 authored by Benjamin Peterson's avatar Benjamin Peterson

properly decref the return value of close()

parent a33bce09
......@@ -465,11 +465,13 @@ io_open(PyObject *self, PyObject *args, PyObject *kwds)
error:
if (result != NULL) {
PyObject *exc, *val, *tb;
PyObject *exc, *val, *tb, *close_result;
PyErr_Fetch(&exc, &val, &tb);
if (_PyObject_CallMethodId(result, &PyId_close, NULL) != NULL)
close_result = _PyObject_CallMethodId(result, &PyId_close, NULL);
if (close_result != NULL) {
Py_DECREF(close_result);
PyErr_Restore(exc, val, tb);
else {
} else {
PyObject *exc2, *val2, *tb2;
PyErr_Fetch(&exc2, &val2, &tb2);
PyErr_NormalizeException(&exc, &val, &tb);
......
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