[Bf-blender-cvs] [931d280af78] master: Fix buffer overflow using bbone segment interpolation

Sergey Sharybin noreply at git.blender.org
Thu Sep 19 16:55:43 CEST 2019


Commit: 931d280af78877d5d86a6473e4963d4f9edb8aeb
Author: Sergey Sharybin
Date:   Thu Sep 19 16:54:09 2019 +0200
Branches: master
https://developer.blender.org/rB931d280af78877d5d86a6473e4963d4f9edb8aeb

Fix buffer overflow using bbone segment interpolation

Do proper segment clamping to a proper value.

Thanks Brecht for pair-coding!

===================================================================

M	source/blender/blenkernel/intern/armature.c

===================================================================

diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c
index d74c8e6d258..3215b3d7b40 100644
--- a/source/blender/blenkernel/intern/armature.c
+++ b/source/blender/blenkernel/intern/armature.c
@@ -1257,9 +1257,9 @@ void BKE_pchan_bbone_deform_segment_index(const bPoseChannel *pchan,
   float pre_blend = pos * (float)segments;
 
   int index = (int)floorf(pre_blend);
-  float blend = pre_blend - index;
+  CLAMP(index, 0, segments - 1);
 
-  CLAMP(index, 0, segments);
+  float blend = pre_blend - index;
   CLAMP(blend, 0.0f, 1.0f);
 
   *r_index = index;



More information about the Bf-blender-cvs mailing list