[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