diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-12-09 12:20:27 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-12-09 12:20:27 +0400 |
commit | f025b7b51159cf3cdf49e9ec0eeaf4427010e1f7 (patch) | |
tree | 7f1995589018b4044553c201a738127eae24f1fe /source/gameengine | |
parent | 6a6c9fc160ef292e5949a27842cd4cae9653d346 (diff) |
went over all uses of MDeformWeight.def_nr and made sure the value is clamped when used as an array index.
Diffstat (limited to 'source/gameengine')
-rw-r--r-- | source/gameengine/Converter/BL_SkinDeformer.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/source/gameengine/Converter/BL_SkinDeformer.cpp b/source/gameengine/Converter/BL_SkinDeformer.cpp index 81533205909..0c4806f4bd8 100644 --- a/source/gameengine/Converter/BL_SkinDeformer.cpp +++ b/source/gameengine/Converter/BL_SkinDeformer.cpp @@ -217,14 +217,14 @@ void BL_SkinDeformer::BGEDeformVerts() Object *par_arma = m_armobj->GetArmatureObject(); MDeformVert *dverts = m_bmesh->dvert; bDeformGroup *dg; - int numGroups = BLI_countlist(&m_objMesh->defbase); + int defbase_tot = BLI_countlist(&m_objMesh->defbase); if (!dverts) return; if (m_dfnrToPC == NULL) { - m_dfnrToPC = new bPoseChannel*[numGroups]; + m_dfnrToPC = new bPoseChannel*[defbase_tot]; int i; for (i=0, dg=(bDeformGroup*)m_objMesh->defbase.first; dg; @@ -260,7 +260,7 @@ void BL_SkinDeformer::BGEDeformVerts() { int index = dvert->dw[j].def_nr; - if (index < numGroups && (pchan=m_dfnrToPC[index])) + if (index < defbase_tot && (pchan=m_dfnrToPC[index])) { weight = dvert->dw[j].weight; |