summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPouleyKetchoupp <pouleyketchoup@gmail.com>2019-10-29 23:53:56 +0100
committerPouleyKetchoupp <pouleyketchoup@gmail.com>2019-10-29 23:53:56 +0100
commitbcbe5b58507fb9534507b570653e32357182ab52 (patch)
treeb8a51ecdd5605c984a6c67deae06575a8f215593
parentb8daad97790a2bb855336b94525d74153c966e0b (diff)
Fixed leak in gdscript when creating empty WeakRef
Fixes #33150
-rw-r--r--modules/gdscript/gdscript_functions.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/modules/gdscript/gdscript_functions.cpp b/modules/gdscript/gdscript_functions.cpp
index d9535d0f1f..c4c7ba5ef7 100644
--- a/modules/gdscript/gdscript_functions.cpp
+++ b/modules/gdscript/gdscript_functions.cpp
@@ -589,7 +589,8 @@ void GDScriptFunctions::call(Function p_func, const Variant **p_args, int p_arg_
r_ret = wref;
}
} else if (p_args[0]->get_type() == Variant::NIL) {
- r_ret = memnew(WeakRef);
+ Ref<WeakRef> wref = memnew(WeakRef);
+ r_ret = wref;
} else {
r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
r_error.argument = 0;