浏览代码

Merge pull request #4502 from assimp/kimkulling/out_of_range_access_error_issue4495

Fix out-of-range access in ASE-Parser
Kim Kulling 3 年之前
父节点
当前提交
66cfe0cdf4
共有 1 个文件被更改,包括 6 次插入3 次删除
  1. 6 3
      code/AssetLib/ASE/ASEParser.cpp

+ 6 - 3
code/AssetLib/ASE/ASEParser.cpp

@@ -646,10 +646,13 @@ void Parser::ParseLV2MaterialBlock(ASE::Material &mat) {
                 }
 
                 // get a reference to the material
-                Material &sMat = mat.avSubMaterials[iIndex];
+                if (iIndex < mat.avSubMaterials.size()) {
+                    Material &sMat = mat.avSubMaterials[iIndex];
+
+                    // parse the material block
+                    ParseLV2MaterialBlock(sMat);
+                }
 
-                // parse the material block
-                ParseLV2MaterialBlock(sMat);
                 continue;
             }
         }