From 42f5ff2ce9fb07ee528084951b5d120d3231ad3e Mon Sep 17 00:00:00 2001 From: Nicky Date: Thu, 16 Oct 2014 19:53:25 +0200 Subject: [PATCH] More protection against broken faces. --- indra/newview/lldrawpoolavatar.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index d521a2f533..77e1ed7f31 100755 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -1681,6 +1681,14 @@ void LLDrawPoolAvatar::updateRiggedFaceVertexBuffer(LLVOAvatar* avatar, LLFace* { LLPointer cur_buffer = facep->getVertexBuffer(); const LLVolumeFace& cur_vol_face = volume->getVolumeFace(i); + if( cur_vol_face.mNumVertices > 0x10000 || cur_vol_face.mNumVertices < 0 || cur_vol_face.mNumIndices < 0 ) + { + LL_WARNS() << "Skipping face " << i + << " vertices " << cur_vol_face.mNumVertices << " indices " << cur_vol_face.mNumIndices + << " face is possibly corrupted" + << LL_ENDL; + continue; + } getRiggedGeometry(facep, cur_buffer, face_data_mask, skin, volume, cur_vol_face); } }