bpo-30640: Fix undefined behavior in _PyFunction_FastCallDict() and P… · python/cpython@c6ea897 (original) (raw)
2 files changed
lines changed
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -374,7 +374,7 @@ _PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, | ||
374 | 374 | |
375 | 375 | result = _PyEval_EvalCodeWithName((PyObject*)co, globals, (PyObject *)NULL, |
376 | 376 | args, nargs, |
377 | -k, k + 1, nk, 2, | |
377 | +k, k != NULL ? k + 1 : NULL, nk, 2, | |
378 | 378 | d, nd, kwdefs, |
379 | 379 | closure, name, qualname); |
380 | 380 | Py_XDECREF(kwtuple); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -4220,7 +4220,8 @@ PyEval_EvalCodeEx(PyObject *_co, PyObject *globals, PyObject *locals, | ||
4220 | 4220 | { |
4221 | 4221 | return _PyEval_EvalCodeWithName(_co, globals, locals, |
4222 | 4222 | args, argcount, |
4223 | -kws, kws + 1, kwcount, 2, | |
4223 | +kws, kws != NULL ? kws + 1 : NULL, | |
4224 | +kwcount, 2, | |
4224 | 4225 | defs, defcount, |
4225 | 4226 | kwdefs, closure, |
4226 | 4227 | NULL, NULL); |