diff options
Diffstat (limited to 'Modules/_functoolsmodule.c')
-rw-r--r-- | Modules/_functoolsmodule.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Modules/_functoolsmodule.c b/Modules/_functoolsmodule.c index c856505..dcaa99f 100644 --- a/Modules/_functoolsmodule.c +++ b/Modules/_functoolsmodule.c @@ -163,6 +163,9 @@ partial_call(partialobject *pto, PyObject *args, PyObject *kw) Py_XINCREF(kwappl); } else { + /* bpo-27840, bpo-29318: dictionary of keyword parameters must be + copied, because a function using "**kwargs" can modify the + dictionary. */ kwappl = PyDict_Copy(pto->kw); if (kwappl == NULL) { Py_XDECREF(argappl); |