Makes sense. Do you reckon this is an acceptable hack for this specific instance, or should I revert the commit?
-Nicholas On Mon, Jun 11, 2012 at 7:04 AM, Sergey Sharybin <[email protected]> wrote: > Hey Nick! > > I've been thinking about such a fix, but that's not actually full fix. > There're still lot's of places in blender who assumes > def_nr is not negative. And the real fix would actually be to figure out > why this index became negative due to it > shouldn't actually. > > Checked the code, but can't find place where it could happen. > > On Mon, Jun 11, 2012 at 5:01 PM, Nicholas Bishop > <[email protected]>wrote: > >> 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]; >> >> _______________________________________________ >> Bf-blender-cvs mailing list >> [email protected] >> http://lists.blender.org/mailman/listinfo/bf-blender-cvs >> > > > > -- > With best regards, Sergey Sharybin > _______________________________________________ > Bf-committers mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-committers _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
