summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2018-05-08 22:09:35 +0200
committerGitHub <noreply@github.com>2018-05-08 22:09:35 +0200
commita79f4ac382686ec1e10484d4cf2351090d28ce2f (patch)
tree90598bd327143fdd2c17321024f17de282544dac
parent4a98b1575bd0b890e834c54a2216f839e9540543 (diff)
parent474eda9e30cd86ff93ebf317df2e904b770a8851 (diff)
Merge pull request #18720 from RandomShaper/fix-gdnative-leak
Fix Variant leak in call_native
-rw-r--r--modules/gdnative/gdnative.cpp4
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) {