2
0
Эх сурвалжийг харах

FIX: Fix possible division by zero

- closes https://github.com/assimp/assimp/issues/4819
Kim Kulling 2 жил өмнө
parent
commit
62486c6e7c

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

@@ -405,11 +405,13 @@ void MDLImporter::InternReadFile_Quake1() {
                 }
                 // go to the end of the skin section / the beginning of the next skin
                 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;
+                if (pcHeader->skinwidth != 0 || pcHeader->skinheight != 0) {
+                    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 {