Преглед на файлове

Merge pull request #89274 from 0x0ACB/unchecked_cast

Fix use after free in `GDScriptLanguage::debug_get_globals`
Rémi Verschelde преди 1 година
родител
ревизия
2a61a2fa2f
променени са 1 файла, в които са добавени 3 реда и са изтрити 1 реда
  1. 3 1
      modules/gdscript/gdscript_editor.cpp

+ 3 - 1
modules/gdscript/gdscript_editor.cpp

@@ -402,7 +402,9 @@ void GDScriptLanguage::debug_get_globals(List<String> *p_globals, List<Variant>
 		}
 
 		const Variant &var = gl_array[E.value];
-		if (Object *obj = var) {
+		bool freed = false;
+		const Object *obj = var.get_validated_object_with_check(freed);
+		if (obj && !freed) {
 			if (Object::cast_to<GDScriptNativeClass>(obj)) {
 				continue;
 			}