A segmentation fault occurred while parsing an MD5 file that contains an invalid vertex index. The issue was caused by mScene->mMaterials not being kept in sync with mScene->mNumMaterials. As a result, the aiScene destructor could call delete on uninitialized pointers. This patch ensures that mScene->mNumMaterials always matches the actual contents of the mScene->mMaterials array. That way, if an exception is thrown during file import, delete is only called for properly allocated aiMaterial objects.
30 KiB
30 KiB