From 0c68b497e13f6fb6f149e0726cd081a7bb182175 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Thu, 15 Feb 2024 10:27:04 +0100 Subject: [PATCH] Refactor calculation of size for data --- code/AssetLib/Collada/ColladaParser.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/code/AssetLib/Collada/ColladaParser.cpp b/code/AssetLib/Collada/ColladaParser.cpp index 145323a22..c5163fe39 100644 --- a/code/AssetLib/Collada/ColladaParser.cpp +++ b/code/AssetLib/Collada/ColladaParser.cpp @@ -3,7 +3,7 @@ Open Asset Import Library (assimp) --------------------------------------------------------------------------- -Copyright (c) 2006-2022, assimp team +Copyright (c) 2006-2024, assimp team All rights reserved. @@ -1786,7 +1786,8 @@ size_t ColladaParser::ReadPrimitives(XmlNode &node, Mesh &pMesh, std::vectormData) { acc->mData = &ResolveLibraryReference(mDataLibrary, acc->mSource); - if (acc->mOffset + acc->mCount * acc->mStride > acc->mData->mValues.size()) { + const size_t dataSize = acc->mOffset + acc->mCount * acc->mStride; + if (dataSize > acc->mData->mValues.size()) { throw DeadlyImportError("Not enough data for accessor"); } } @@ -1813,7 +1814,8 @@ size_t ColladaParser::ReadPrimitives(XmlNode &node, Mesh &pMesh, std::vectormData) { acc->mData = &ResolveLibraryReference(mDataLibrary, acc->mSource); - if (acc->mOffset + acc->mCount * acc->mStride > acc->mData->mValues.size()) { + const size_t dataSize = acc->mOffset + acc->mCount * acc->mStride; + if (dataSize > acc->mData->mValues.size()) { throw DeadlyImportError("Not enough data for accessor"); } }