PyEval_CallObjectWithKeywords() doesn't inc/decref

Issue #27809: PyEval_CallObjectWithKeywords() doesn't increment temporary the
reference counter of the args tuple (positional arguments). The caller already
holds a strong reference to it.
This commit is contained in:
Victor Stinner 2016-08-23 00:25:01 +02:00
parent 7e7823a037
commit 6e2333dfdf
1 changed files with 1 additions and 7 deletions

View File

@ -4580,8 +4580,6 @@ PyEval_MergeCompilerFlags(PyCompilerFlags *cf)
PyObject *
PyEval_CallObjectWithKeywords(PyObject *func, PyObject *args, PyObject *kwargs)
{
PyObject *result;
#ifdef Py_DEBUG
/* PyEval_CallObjectWithKeywords() must not be called with an exception
set. It raises a new exception if parameters are invalid or if
@ -4605,11 +4603,7 @@ PyEval_CallObjectWithKeywords(PyObject *func, PyObject *args, PyObject *kwargs)
return NULL;
}
Py_INCREF(args);
result = PyObject_Call(func, args, kwargs);
Py_DECREF(args);
return result;
return PyObject_Call(func, args, kwargs);
}
const char *