[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47736] trunk/blender/source/blender/ blenkernel/intern/armature.c: Fix invalid array index in armature_deform_verts().

Nicholas Bishop nicholasbishop at gmail.com
Mon Jun 11 13:01:03 CEST 2012


Revision: 47736
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47736
Author:   nicholasbishop
Date:     2012-06-11 11:00:58 +0000 (Mon, 11 Jun 2012)
Log Message:
-----------
Fix invalid array index in armature_deform_verts().

Check that the def_nr is non-negative before using as index.

Fixes bug [#31700] Crash when opening .blend file on 64bit environment

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/armature.c

Modified: trunk/blender/source/blender/blenkernel/intern/armature.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/armature.c	2012-06-11 10:31:24 UTC (rev 47735)
+++ trunk/blender/source/blender/blenkernel/intern/armature.c	2012-06-11 11:00:58 UTC (rev 47736)
@@ -986,7 +986,7 @@
 
 			for (j = dvert->totweight; j != 0; j--, dw++) {
 				const int index = dw->def_nr;
-				if (index < defbase_tot && (pchan = defnrToPC[index])) {
+				if (index >= 0 && index < defbase_tot && (pchan = defnrToPC[index])) {
 					float weight = dw->weight;
 					Bone *bone = pchan->bone;
 					pdef_info = pdef_info_array + defnrToPCIndex[index];




More information about the Bf-blender-cvs mailing list