diff options
author | Jo-Philipp Wich <jo@mein.io> | 2024-11-29 16:36:53 +0100 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2024-11-29 16:45:07 +0100 |
commit | ed5ce8f490188f3c528c7dd5db09ec0470377283 (patch) | |
tree | a9e37aca9c94fa5ec3ed90c589d6881bf6dad173 /.github | |
parent | a6e06417785288f66c990e828cccbf9fb9836ba7 (diff) |
types: resolve upvalue values in arrays and objects
Some objects, such as wildcard module import namespace dictionaries may
contain upvalue type values. Extend `ucv_key_get()` to transparently
resolve such values before returning them to the caller in order to
avoid increasing the refcount of the upvalue itself, leading to a
memory leak later on when the VM indirectly dereferences it on upon
`uc_vm_stack_push()`, loosing the upvalue object reference itself
in the process.
This long standing leak was discovered while fixing another upvalue
related module import quirk.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to '.github')
0 files changed, 0 insertions, 0 deletions