Fix arg count checks in SceneDebugger

(cherry picked from commit 95809e58d5)
This commit is contained in:
kleonc 2023-07-19 13:11:08 +02:00 committed by Yuri Sizov
parent 5360058d1c
commit e34241a809
1 changed files with 4 additions and 4 deletions

View File

@ -163,6 +163,7 @@ Error SceneDebugger::parse_message(void *p_user, const String &p_msg, const Arra
live_editor->_res_set_func(p_args[0], p_args[1], p_args[2]); live_editor->_res_set_func(p_args[0], p_args[1], p_args[2]);
} else if (p_msg == "live_node_call") { } else if (p_msg == "live_node_call") {
ERR_FAIL_COND_V(p_args.size() < 2, ERR_INVALID_DATA);
LocalVector<Variant> args; LocalVector<Variant> args;
LocalVector<Variant *> argptrs; LocalVector<Variant *> argptrs;
args.resize(p_args.size() - 2); args.resize(p_args.size() - 2);
@ -171,11 +172,10 @@ Error SceneDebugger::parse_message(void *p_user, const String &p_msg, const Arra
args[i] = p_args[i + 2]; args[i] = p_args[i + 2];
argptrs[i] = &args[i]; argptrs[i] = &args[i];
} }
live_editor->_node_call_func(p_args[0], p_args[1], (const Variant **)argptrs.ptr(), argptrs.size()); live_editor->_node_call_func(p_args[0], p_args[1], argptrs.size() ? (const Variant **)argptrs.ptr() : nullptr, argptrs.size());
} else if (p_msg == "live_res_call") { } else if (p_msg == "live_res_call") {
ERR_FAIL_COND_V(p_args.size() < 10, ERR_INVALID_DATA); ERR_FAIL_COND_V(p_args.size() < 2, ERR_INVALID_DATA);
LocalVector<Variant> args; LocalVector<Variant> args;
LocalVector<Variant *> argptrs; LocalVector<Variant *> argptrs;
args.resize(p_args.size() - 2); args.resize(p_args.size() - 2);
@ -184,7 +184,7 @@ Error SceneDebugger::parse_message(void *p_user, const String &p_msg, const Arra
args[i] = p_args[i + 2]; args[i] = p_args[i + 2];
argptrs[i] = &args[i]; argptrs[i] = &args[i];
} }
live_editor->_res_call_func(p_args[0], p_args[1], (const Variant **)argptrs.ptr(), argptrs.size()); live_editor->_res_call_func(p_args[0], p_args[1], argptrs.size() ? (const Variant **)argptrs.ptr() : nullptr, argptrs.size());
} else if (p_msg == "live_create_node") { } else if (p_msg == "live_create_node") {
ERR_FAIL_COND_V(p_args.size() < 3, ERR_INVALID_DATA); ERR_FAIL_COND_V(p_args.size() < 3, ERR_INVALID_DATA);