diff --git a/code/SplitByBoneCountProcess.cpp b/code/SplitByBoneCountProcess.cpp index b33b6d95c..6faf11086 100644 --- a/code/SplitByBoneCountProcess.cpp +++ b/code/SplitByBoneCountProcess.cpp @@ -393,7 +393,7 @@ void SplitByBoneCountProcess::UpdateNode( aiNode* pNode) const newMeshList.insert( newMeshList.end(), replaceMeshes.begin(), replaceMeshes.end()); } - delete pNode->mMeshes; + delete [] pNode->mMeshes; pNode->mNumMeshes = static_cast(newMeshList.size()); pNode->mMeshes = new unsigned int[pNode->mNumMeshes]; std::copy( newMeshList.begin(), newMeshList.end(), pNode->mMeshes); diff --git a/code/glTF2Importer.cpp b/code/glTF2Importer.cpp index bd645e9ce..8581d25fe 100755 --- a/code/glTF2Importer.cpp +++ b/code/glTF2Importer.cpp @@ -437,6 +437,12 @@ void glTF2Importer::ImportMeshes(glTF2::Asset& r) } for (size_t tc = 0; tc < attr.texcoord.size() && tc < AI_MAX_NUMBER_OF_TEXTURECOORDS; ++tc) { + if (attr.texcoord[tc]->count != aim->mNumVertices) { + DefaultLogger::get()->warn("Texcoord stream size in mesh \"" + mesh.name + + "\" does not match the vertex count"); + continue; + } + attr.texcoord[tc]->ExtractData(aim->mTextureCoords[tc]); aim->mNumUVComponents[tc] = attr.texcoord[tc]->GetNumComponents();