Fix SEGV write in Assimp::SortByPTypeProcess::Execute (#6318)

* Fix OOB Write in Assimp::SortByPTypeProcess::Execute
This commit is contained in:
Kyungjoon Ko
2025-08-10 01:45:30 -07:00
committed by GitHub
parent 13316790aa
commit 6d7ea78792

View File

@@ -188,12 +188,15 @@ void SortByPTypeProcess::Execute(aiScene *pScene) {
unsigned int numPolyVerts = 0;
for (; pFirstFace != pLastFace; ++pFirstFace) {
if (pFirstFace->mNumIndices <= 3)
if (pFirstFace->mNumIndices >= 1 && pFirstFace->mNumIndices <= 3)
++aiNumPerPType[pFirstFace->mNumIndices - 1];
else {
++aiNumPerPType[3];
numPolyVerts += pFirstFace->mNumIndices;
}
if (pFirstFace->mNumIndices == 0) {
ASSIMP_LOG_WARN("Face with 0 indices treated as polygon");
}
}
VertexWeightTable *avw = ComputeVertexBoneWeightTable(mesh);