bpo-46347: Fix memory leak in PyEval_EvalCodeEx. (#30546)

First introduced in 0332e569c1
This commit is contained in:
Yury Selivanov 2022-01-11 14:25:28 -08:00 committed by GitHub
parent dce642f244
commit 607d8a838f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 1 additions and 7 deletions

View File

@ -0,0 +1 @@
Fix memory leak in PyEval_EvalCodeEx.

View File

@ -6128,16 +6128,9 @@ PyEval_EvalCodeEx(PyObject *_co, PyObject *globals, PyObject *locals,
}
allargs = newargs;
}
PyObject **kwargs = PyMem_Malloc(sizeof(PyObject *)*kwcount);
if (kwargs == NULL) {
res = NULL;
Py_DECREF(kwnames);
goto fail;
}
for (int i = 0; i < kwcount; i++) {
Py_INCREF(kws[2*i]);
PyTuple_SET_ITEM(kwnames, i, kws[2*i]);
kwargs[i] = kws[2*i+1];
}
PyFrameConstructor constr = {
.fc_globals = globals,