diff --git a/code/AssetLib/MDL/MDLLoader.cpp b/code/AssetLib/MDL/MDLLoader.cpp index f4b4c4d26..b60657805 100644 --- a/code/AssetLib/MDL/MDLLoader.cpp +++ b/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 { diff --git a/test/unit/AssimpAPITest_aiQuaternion.cpp b/test/unit/AssimpAPITest_aiQuaternion.cpp index 8f57bc586..7e93033cf 100644 --- a/test/unit/AssimpAPITest_aiQuaternion.cpp +++ b/test/unit/AssimpAPITest_aiQuaternion.cpp @@ -120,7 +120,11 @@ TEST_F(AssimpAPITest_aiQuaternion, aiQuaternionMultiplyTest) { result_c = result_cpp = random_quat(); result_cpp = result_cpp * temp; aiQuaternionMultiply(&result_c, &temp); - EXPECT_EQ(result_cpp, result_c); + + EXPECT_FLOAT_EQ(result_cpp.x, result_c.x); + EXPECT_FLOAT_EQ(result_cpp.y, result_c.y); + EXPECT_FLOAT_EQ(result_cpp.z, result_c.z); + EXPECT_FLOAT_EQ(result_cpp.w, result_c.w); } TEST_F(AssimpAPITest_aiQuaternion, aiQuaternionInterpolateTest) { @@ -131,5 +135,9 @@ TEST_F(AssimpAPITest_aiQuaternion, aiQuaternionInterpolateTest) { const auto q2 = aiQuaternion(aiVector3D(1,2,1).Normalize(), Math::aiPi() / 2.0f); aiQuaternion::Interpolate(result_cpp, q1, q2, INTERPOLATION); aiQuaternionInterpolate(&result_c, &q1, &q2, INTERPOLATION); - EXPECT_EQ(result_cpp, result_c); + + EXPECT_FLOAT_EQ(result_cpp.x, result_c.x); + EXPECT_FLOAT_EQ(result_cpp.y, result_c.y); + EXPECT_FLOAT_EQ(result_cpp.z, result_c.z); + EXPECT_FLOAT_EQ(result_cpp.w, result_c.w); }