Issue #26200: Added Py_SETREF and replaced Py_XSETREF with Py_SETREF

in places where Py_DECREF was used.
This commit is contained in:
Serhiy Storchaka 2016-04-10 18:05:40 +03:00
parent e0805cf10e
commit 57a01d3a0e
20 changed files with 52 additions and 42 deletions

View file

@ -680,7 +680,7 @@ setup_context(Py_ssize_t stack_level, PyObject **filename, int *lineno,
goto handle_error;
}
else if (!is_true) {
Py_XSETREF(*filename, PyUnicode_FromString("__main__"));
Py_SETREF(*filename, PyUnicode_FromString("__main__"));
if (*filename == NULL)
goto handle_error;
}

View file

@ -3229,7 +3229,7 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
Py_INCREF(self);
func = PyMethod_GET_FUNCTION(func);
Py_INCREF(func);
Py_XSETREF(*pfunc, self);
Py_SETREF(*pfunc, self);
na++;
/* n++; */
} else
@ -4682,7 +4682,7 @@ call_function(PyObject ***pp_stack, int oparg
Py_INCREF(self);
func = PyMethod_GET_FUNCTION(func);
Py_INCREF(func);
Py_XSETREF(*pfunc, self);
Py_SETREF(*pfunc, self);
na++;
n++;
} else

View file

@ -311,9 +311,9 @@ finally:
--tstate->recursion_depth;
/* throw away the old exception and use the recursion error instead */
Py_INCREF(PyExc_RecursionError);
Py_XSETREF(*exc, PyExc_RecursionError);
Py_SETREF(*exc, PyExc_RecursionError);
Py_INCREF(PyExc_RecursionErrorInst);
Py_XSETREF(*val, PyExc_RecursionErrorInst);
Py_SETREF(*val, PyExc_RecursionErrorInst);
/* just keeping the old traceback */
return;
}