mirror of
https://github.com/python/cpython.git
synced 2025-08-31 05:58:33 +00:00
gh-122728: Fix SystemError in PyEval_GetLocals() (#122735)
Fix PyEval_GetLocals() to avoid SystemError ("bad argument to internal function"). Don't redefine the 'ret' variable in the if block. Add an unit test on PyEval_GetLocals().
This commit is contained in:
parent
5b8a6c5186
commit
4767a6e31c
4 changed files with 23 additions and 1 deletions
|
@ -3341,6 +3341,12 @@ test_critical_sections(PyObject *module, PyObject *Py_UNUSED(args))
|
|||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
pyeval_getlocals(PyObject *module, PyObject *Py_UNUSED(args))
|
||||
{
|
||||
return Py_XNewRef(PyEval_GetLocals());
|
||||
}
|
||||
|
||||
static PyMethodDef TestMethods[] = {
|
||||
{"set_errno", set_errno, METH_VARARGS},
|
||||
{"test_config", test_config, METH_NOARGS},
|
||||
|
@ -3483,6 +3489,7 @@ static PyMethodDef TestMethods[] = {
|
|||
{"test_weakref_capi", test_weakref_capi, METH_NOARGS},
|
||||
{"function_set_warning", function_set_warning, METH_NOARGS},
|
||||
{"test_critical_sections", test_critical_sections, METH_NOARGS},
|
||||
{"pyeval_getlocals", pyeval_getlocals, METH_NOARGS},
|
||||
{NULL, NULL} /* sentinel */
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue