summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2025-10-20 19:57:25 +0300
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2025-10-20 20:12:14 +0300
commit03690724188cb3fef1c2efed0f5626c93096ec2d (patch)
tree2937b10a92fb7420bb2db4c0df8fc98eabd780b0
parent41e9595522c71534219158609e97186e4bfeac69 (diff)
#4861 Crash at LLVolumeFace::createOctree
Looks like LLRiggedVolume::update goes out of bounds when selecting a face
-rw-r--r--indra/llappearance/llpolymesh.cpp1
-rw-r--r--indra/newview/llvovolume.cpp2
2 files changed, 2 insertions, 1 deletions
diff --git a/indra/llappearance/llpolymesh.cpp b/indra/llappearance/llpolymesh.cpp
index 719381b4fc..d5323e0b84 100644
--- a/indra/llappearance/llpolymesh.cpp
+++ b/indra/llappearance/llpolymesh.cpp
@@ -283,6 +283,7 @@ bool LLPolyMeshSharedData::loadMesh( const std::string& fileName )
LLFILE* fp = LLFile::fopen(fileName, "rb"); /*Flawfinder: ignore*/
if (!fp)
{
+ LLError::LLUserWarningMsg::showMissingFiles();
LL_ERRS() << "can't open: " << fileName << LL_ENDL;
return false;
}
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 2370b948ef..aa230f4636 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -5025,7 +5025,7 @@ void LLRiggedVolume::update(
else
{
face_begin = face_index;
- face_end = face_begin + 1;
+ face_end = llmin(face_begin + 1, volume->getNumVolumeFaces());
}
for (S32 i = face_begin; i < face_end; ++i)
{