From 77a8f019e353a6dd2bcabb262c2383d3c67137d3 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 22 Nov 2023 10:02:29 +0100 Subject: [PATCH] Fix: Check if index for mesh access is out of range --- code/AssetLib/Blender/BlenderModifier.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/AssetLib/Blender/BlenderModifier.cpp b/code/AssetLib/Blender/BlenderModifier.cpp index 6cc11ec8e..f925de608 100644 --- a/code/AssetLib/Blender/BlenderModifier.cpp +++ b/code/AssetLib/Blender/BlenderModifier.cpp @@ -283,6 +283,11 @@ void BlenderModifier_Subdivision ::DoIt(aiNode &out, ConversionData &conv_data, if (conv_data.meshes->empty()) { return; } + const size_t meshIndex = conv_data.meshes->size() - out.mNumMeshes; + if (meshIndex >= conv_data.meshes->size()) { + ASSIMP_LOG_ERROR("Invalid index detected."); + return; + } aiMesh **const meshes = &conv_data.meshes[conv_data.meshes->size() - out.mNumMeshes]; std::unique_ptr tempmeshes(new aiMesh *[out.mNumMeshes]());