소스 검색

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;
 			}