浏览代码

Fix out of bound access (#5651)

Kim Kulling 1 年之前
父节点
当前提交
ddb74c2bbd
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      code/AssetLib/Ply/PlyLoader.cpp

+ 4 - 0
code/AssetLib/Ply/PlyLoader.cpp

@@ -564,6 +564,10 @@ void PLYImporter::LoadFace(const PLY::Element *pcElement, const PLY::ElementInst
         if (mGeneratedMesh->mFaces == nullptr) {
             mGeneratedMesh->mNumFaces = pcElement->NumOccur;
             mGeneratedMesh->mFaces = new aiFace[mGeneratedMesh->mNumFaces];
+        } else {
+            if (mGeneratedMesh->mNumFaces < pcElement->NumOccur) {
+                throw DeadlyImportError("Invalid .ply file: Too many faces");
+            }
         }
 
         if (!bIsTriStrip) {