diff options
author | Alexander Gavriliuk <alexandrgproductengine@lindenlab.com> | 2023-09-02 18:17:33 +0200 |
---|---|---|
committer | Guru <alexandrgproductengine@lindenlab.com> | 2023-09-18 12:29:17 +0200 |
commit | f479c54fbf4a2264f705f153dd944b637eaa860a (patch) | |
tree | 8c075b8ddcd11eef09fddde83f5ca86f52ba80ad /indra/newview/llvovolume.cpp | |
parent | 2e7cf2c1afd9cec1b2e69a5ac7fbbe7ad745c457 (diff) |
SEC-430 'WARNING: LLFace::getGeometryVolume: Index buffer overflow' occuring 500 times plus per minute
Diffstat (limited to 'indra/newview/llvovolume.cpp')
-rw-r--r-- | indra/newview/llvovolume.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 34f55d3341..73b00489d4 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -6080,12 +6080,18 @@ void LLVolumeGeometryManager::rebuildMesh(LLSpatialGroup* group) LLVertexBuffer* buff = face->getVertexBuffer(); if (buff) { - if (!face->getGeometryVolume(*volume, face->getTEOffset(), - vobj->getRelativeXform(), vobj->getRelativeXformInvTrans(), face->getGeomIndex())) - { //something's gone wrong with the vertex buffer accounting, rebuild this group - group->dirtyGeom(); - gPipeline.markRebuild(group); - } + if (!face->getGeometryVolume(*volume, // volume + face->getTEOffset(), // face_index + vobj->getRelativeXform(), // mat_vert_in + vobj->getRelativeXformInvTrans(), // mat_norm_in + face->getGeomIndex(), // index_offset + false, // force_rebuild + true)) // no_debug_assert + { // Something's gone wrong with the vertex buffer accounting, + // rebuild this group with no debug assert because MESH_DIRTY + group->dirtyGeom(); + gPipeline.markRebuild(group); + } buff->unmapBuffer(); } |