Browse Source

Merge pull request #18720 from RandomShaper/fix-gdnative-leak

Fix Variant leak in call_native
Rémi Verschelde 7 years ago
parent
commit
a79f4ac382
1 changed files with 3 additions and 1 deletions
  1. 3 1
      modules/gdnative/gdnative.cpp

+ 3 - 1
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);
 	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) {
 Error GDNative::get_symbol(StringName p_procedure_name, void *&r_handle, bool p_optional) {