Commit e71ab8f4 by Wenzel Jakob

unpacking_collector: allow nullptr-valued kwargs argument

This fixes an issue that can arise when forwarding (*args, **kwargs)
captured from a pybind11-bound function call to another Python function.
When the initial function call includes no keyword arguments, the
py::kwargs field is set to nullptr and causes a crash later on.
parent ba767801
......@@ -1218,9 +1218,8 @@ private:
}
void process(list &args_list, detail::args_proxy ap) {
for (const auto &a : ap) {
for (const auto &a : ap)
args_list.append(a);
}
}
void process(list &/*args_list*/, arg_v a) {
......@@ -1242,6 +1241,8 @@ private:
}
void process(list &/*args_list*/, detail::kwargs_proxy kp) {
if (!kp)
return;
for (const auto &k : dict(kp, true)) {
if (m_kwargs.contains(k.first)) {
#if defined(NDEBUG)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment