From 3b44866bf2e3be0870df9cbe377afe811f06071c Mon Sep 17 00:00:00 2001 From: "K. S. Ernest (iFire) Lee" Date: Wed, 20 Nov 2019 10:49:24 -0800 Subject: [PATCH 1/2] 33714 If the gltf2 asset has no scene, it is corrupt. --- editor/import/editor_scene_importer_gltf.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/editor/import/editor_scene_importer_gltf.cpp b/editor/import/editor_scene_importer_gltf.cpp index fcf0e4af6f9..30e2aae0207 100644 --- a/editor/import/editor_scene_importer_gltf.cpp +++ b/editor/import/editor_scene_importer_gltf.cpp @@ -229,6 +229,7 @@ Error EditorSceneImporterGLTF::_parse_scenes(GLTFState &state) { ERR_FAIL_COND_V(!state.json.has("scenes"), ERR_FILE_CORRUPT); const Array &scenes = state.json["scenes"]; + ERR_FAIL_COND_V(!scenes.size(), ERR_FILE_CORRUPT); for (int i = 0; i < 1; i++) { //only first scene is imported const Dictionary &s = scenes[i]; ERR_FAIL_COND_V(!s.has("nodes"), ERR_UNAVAILABLE); From 5d70a95fe16bc213de6bb715a6e8bfae885d5ee1 Mon Sep 17 00:00:00 2001 From: "K. S. Ernest (iFire) Lee" Date: Wed, 20 Nov 2019 11:22:27 -0800 Subject: [PATCH 2/2] 33714 Check if the image is null before use. --- modules/assimp/import_utils.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/assimp/import_utils.h b/modules/assimp/import_utils.h index 7b14804ddc4..8135b352c69 100644 --- a/modules/assimp/import_utils.h +++ b/modules/assimp/import_utils.h @@ -394,7 +394,9 @@ public: return Ref(); } else { Ref texture = ResourceLoader::load(p_path); + ERR_FAIL_COND_V(texture.is_null(), Ref()); Ref image = texture->get_data(); + ERR_FAIL_COND_V(image.is_null(), Ref()); state.path_to_image_cache.insert(p_path, image); return image; }