mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Issue #20437: Fixed 22 potential bugs when deleting objects references.
This commit is contained in:
commit
dfe98a102e
15 changed files with 34 additions and 63 deletions
|
@ -281,8 +281,7 @@ set_hook(const char *funcname, PyObject **hook_var, PyObject *args)
|
|||
if (!PyArg_ParseTuple(args, buf, &function))
|
||||
return NULL;
|
||||
if (function == Py_None) {
|
||||
Py_XDECREF(*hook_var);
|
||||
*hook_var = NULL;
|
||||
Py_CLEAR(*hook_var);
|
||||
}
|
||||
else if (PyCallable_Check(function)) {
|
||||
PyObject *tmp = *hook_var;
|
||||
|
@ -885,7 +884,7 @@ on_completion_display_matches_hook(char **matches,
|
|||
(r != Py_None && PyLong_AsLong(r) == -1 && PyErr_Occurred())) {
|
||||
goto error;
|
||||
}
|
||||
Py_XDECREF(r); r=NULL;
|
||||
Py_CLEAR(r);
|
||||
|
||||
if (0) {
|
||||
error:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue