From c50a4d8adef556fb8e9830436e5c55915eb37ab8 Mon Sep 17 00:00:00 2001 From: Gordon MacPherson Date: Mon, 26 Aug 2019 22:39:20 +0100 Subject: [PATCH] Fix segfault caused by FBX file with missing face #2614 --- code/FBX/FBXMeshGeometry.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/FBX/FBXMeshGeometry.cpp b/code/FBX/FBXMeshGeometry.cpp index e60fc25e2..169bf0029 100644 --- a/code/FBX/FBXMeshGeometry.cpp +++ b/code/FBX/FBXMeshGeometry.cpp @@ -610,8 +610,12 @@ void MeshGeometry::ReadVertexDataMaterials(std::vector& materials_out, cons const std::string& ReferenceInformationType) { const size_t face_count = m_faces.size(); - ai_assert(face_count); + if(face_count == 0) + { + return; + } + // materials are handled separately. First of all, they are assigned per-face // and not per polyvert. Secondly, ReferenceInformationType=IndexToDirect // has a slightly different meaning for materials.