Browse Source

Merge pull request #83782 from timothyqiu/self-awareness

Fix heap-use-after-free when resource loaded with `load_threaded_request` is never fetched
Rémi Verschelde 1 năm trước cách đây
mục cha
commit
a1fd0b9d8a
1 tập tin đã thay đổi với 3 bổ sung2 xóa
  1. 3 2
      core/io/resource_loader.cpp

+ 3 - 2
core/io/resource_loader.cpp

@@ -1053,8 +1053,9 @@ void ResourceLoader::clear_thread_load_tasks() {
 		thread_load_mutex.lock();
 	}
 
-	for (KeyValue<String, LoadToken *> &E : user_load_tokens) {
-		memdelete(E.value);
+	while (user_load_tokens.begin()) {
+		// User load tokens remove themselves from the map on destruction.
+		memdelete(user_load_tokens.begin()->value);
 	}
 	user_load_tokens.clear();