Browse Source

Fix Variant leak in call_native

Pedro J. Estébanez 7 years ago
parent
commit
474eda9e30
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);
 
-	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) {