浏览代码

Merge branch 'master' into master

naota29 2 年之前
父节点
当前提交
ab82428bb5
共有 1 个文件被更改,包括 7 次插入2 次删除
  1. 7 2
      code/AssetLib/MDL/MDLLoader.cpp

+ 7 - 2
code/AssetLib/MDL/MDLLoader.cpp

@@ -404,8 +404,13 @@ void MDLImporter::InternReadFile_Quake1() {
                     this->CreateTextureARGB8_3DGS_MDL3(szCurrent + iNumImages * sizeof(float));
                 }
                 // go to the end of the skin section / the beginning of the next skin
-                szCurrent += pcHeader->skinheight * pcHeader->skinwidth +
-                             sizeof(float) * iNumImages;
+                bool overflow = false;
+                if ((pcHeader->skinheight > INT_MAX / pcHeader->skinwidth) || (pcHeader->skinwidth > INT_MAX / pcHeader->skinheight)){
+                    overflow = true;
+                }
+                if (!overflow) {
+                    szCurrent += pcHeader->skinheight * pcHeader->skinwidth +sizeof(float) * iNumImages;
+                }
             }
         } else {
             szCurrent += sizeof(uint32_t);