[Bf-blender-cvs] [c34596a3bbd] greasepencil-object: GPencil: Fix potential out of bound read in Noise modifier

Clément Foucault noreply at git.blender.org
Fri Mar 6 01:20:58 CET 2020


Commit: c34596a3bbdb9dfcf0275823533714f744f83a18
Author: Clément Foucault
Date:   Fri Mar 6 00:10:11 2020 +0100
Branches: greasepencil-object
https://developer.blender.org/rBc34596a3bbdb9dfcf0275823533714f744f83a18

GPencil: Fix potential out of bound read in Noise modifier

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

M	source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c

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

diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c
index 1596e6a20f7..96a4019812a 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c
@@ -172,10 +172,11 @@ static void deformStroke(GpencilModifierData *md,
 
     if (mmd->factor > 0.0f) {
       /* Offset point randomly around the normal vector. */
-      bGPDspoint *pt0 = (gps->totpoints > 1 && i < gps->totpoints - 1) ? &gps->points[i] :
-                                                                         &gps->points[i - 1];
-      bGPDspoint *pt1 = (gps->totpoints > 1 && i < gps->totpoints - 1) ? &gps->points[i + 1] :
-                                                                         &gps->points[i];
+      const bool is_last_point = (i == gps->totpoints - 1);
+      bGPDspoint *pt0 = (gps->totpoints > 1 && is_last_point) ? &gps->points[i - 1] :
+                                                                &gps->points[i];
+      bGPDspoint *pt1 = (gps->totpoints > 1 && !is_last_point) ? &gps->points[i + 1] :
+                                                                 &gps->points[i];
       /* Initial vector (p1 -> p0). */
       sub_v3_v3v3(vec1, &pt0->x, &pt1->x);
       /* if vec2 is zero, set to something */



More information about the Bf-blender-cvs mailing list