Commit 155cc7c4 by Zach DeVito Committed by Wenzel Jakob

Fix leak in var arg handling

When using the mixed position + vararg path, pybind over inc_ref's
the vararg positions. Printing the ref_count() of `item` before
and after this change you see:

Before change:

```
refcount of item before assign 3
refcount of item after assign 5
```

After change
```
refcount of item before assign 3
refcount of item after assign 4
```
parent c715c70e
......@@ -589,7 +589,7 @@ protected:
extra_args = tuple(args_size);
for (size_t i = 0; i < args_size; ++i) {
handle item = PyTuple_GET_ITEM(args_in, args_copied + i);
extra_args[i] = item.inc_ref().ptr();
extra_args[i] = reinterpret_borrow<object>(item);
}
}
call.args.push_back(extra_args);
......
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