summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Misc/NEWS.d/next/C API/2022-05-02-12-39-33.gh-issue-92173.len2Is.rst1
-rw-r--r--Objects/funcobject.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/Misc/NEWS.d/next/C API/2022-05-02-12-39-33.gh-issue-92173.len2Is.rst b/Misc/NEWS.d/next/C API/2022-05-02-12-39-33.gh-issue-92173.len2Is.rst
new file mode 100644
index 0000000..c8f9b58
--- /dev/null
+++ b/Misc/NEWS.d/next/C API/2022-05-02-12-39-33.gh-issue-92173.len2Is.rst
@@ -0,0 +1 @@
+Fix the ``closure`` argument to :c:func:`PyEval_EvalCodeEx`.
diff --git a/Objects/funcobject.c b/Objects/funcobject.c
index 1e0cfb7..32b4155 100644
--- a/Objects/funcobject.c
+++ b/Objects/funcobject.c
@@ -29,7 +29,8 @@ _PyFunction_FromConstructor(PyFrameConstructor *constr)
op->func_code = constr->fc_code;
op->func_defaults = NULL;
op->func_kwdefaults = NULL;
- op->func_closure = NULL;
+ Py_XINCREF(constr->fc_closure);
+ op->func_closure = constr->fc_closure;
Py_INCREF(Py_None);
op->func_doc = Py_None;
op->func_dict = NULL;