diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2018-05-08 22:09:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-08 22:09:35 +0200 |
commit | a79f4ac382686ec1e10484d4cf2351090d28ce2f (patch) | |
tree | 90598bd327143fdd2c17321024f17de282544dac | |
parent | 4a98b1575bd0b890e834c54a2216f839e9540543 (diff) | |
parent | 474eda9e30cd86ff93ebf317df2e904b770a8851 (diff) |
Merge pull request #18720 from RandomShaper/fix-gdnative-leak
Fix Variant leak in call_native
-rw-r--r-- | modules/gdnative/gdnative.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/modules/gdnative/gdnative.cpp b/modules/gdnative/gdnative.cpp index 897588385a..e7ebcc73af 100644 --- a/modules/gdnative/gdnative.cpp +++ b/modules/gdnative/gdnative.cpp @@ -469,7 +469,9 @@ Variant GDNative::call_native(StringName p_native_call_type, StringName p_proced godot_variant result = E->get()(procedure_handle, (godot_array *)&p_arguments); - return *(Variant *)&result; + Variant res = *(Variant *)&result; + godot_variant_destroy(&result); + return res; } Error GDNative::get_symbol(StringName p_procedure_name, void *&r_handle, bool p_optional) { |