Browse Source

Fix out of bound access (#5651)

Kim Kulling 1 year ago
parent
commit
ddb74c2bbd
1 changed files with 4 additions and 0 deletions
  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) {