Explorar o código

Fix nullptr dereferencing

- Check if we have any texture coordinates before calculating them
- closes https://github.com/assimp/assimp/issues/4445
Kim Kulling %!s(int64=3) %!d(string=hai) anos
pai
achega
552f3a308d
Modificáronse 1 ficheiros con 3 adicións e 0 borrados
  1. 3 0
      code/AssetLib/MDL/MDLLoader.cpp

+ 3 - 0
code/AssetLib/MDL/MDLLoader.cpp

@@ -857,6 +857,9 @@ void MDLImporter::CalculateUVCoordinates_MDL5() {
             const float fHeight = (float)iHeight;
             aiMesh *pcMesh = this->pScene->mMeshes[0];
             for (unsigned int i = 0; i < pcMesh->mNumVertices; ++i) {
+                if (!pcMesh->HasTextureCoords(0)) {
+                    continue;
+                }
                 pcMesh->mTextureCoords[0][i].x /= fWidth;
                 pcMesh->mTextureCoords[0][i].y /= fHeight;
                 pcMesh->mTextureCoords[0][i].y = 1.0f - pcMesh->mTextureCoords[0][i].y; // DX to OGL