From 03690724188cb3fef1c2efed0f5626c93096ec2d Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> Date: Mon, 20 Oct 2025 19:57:25 +0300 Subject: #4861 Crash at LLVolumeFace::createOctree Looks like LLRiggedVolume::update goes out of bounds when selecting a face --- indra/llappearance/llpolymesh.cpp | 1 + indra/newview/llvovolume.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) 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) { -- cgit v1.2.3