Quellcode durchsuchen

Add missing ERR_FAIL_INDEX check to Variant::construct

Other functions in the same file validate parameters using the ERR_FAIL
macros. This validation was missing for Variant::construct resulting in
a crash when called with invalid data (p_type < 0).

fix #46067
Alex Hirsch vor 4 Jahren
Ursprung
Commit
6985967c3b
1 geänderte Dateien mit 1 neuen und 0 gelöschten Zeilen
  1. 1 0
      core/variant/variant_construct.cpp

+ 1 - 0
core/variant/variant_construct.cpp

@@ -773,6 +773,7 @@ void Variant::_unregister_variant_constructors() {
 }
 
 void Variant::construct(Variant::Type p_type, Variant &base, const Variant **p_args, int p_argcount, Callable::CallError &r_error) {
+	ERR_FAIL_INDEX(p_type, Variant::VARIANT_MAX);
 	uint32_t s = construct_data[p_type].size();
 	for (uint32_t i = 0; i < s; i++) {
 		int argc = construct_data[p_type][i].argument_count;