Fix T75405: Crash when increasing text object bevel depth
authorHans Goudey <h.goudey@me.com>
Thu, 9 Apr 2020 20:29:49 +0000 (15:29 -0500)
committerHans Goudey <h.goudey@me.com>
Thu, 9 Apr 2020 20:29:49 +0000 (15:29 -0500)
One fewer coordinate needs to be calculated when extrusion is zero to
avoid corrupting the end of the memory chunk.

Differential Revision: https://developer.blender.org/D7368

source/blender/blenkernel/intern/curve.c

index 5b463059f1836d788ea328cd193eb9215402f4da..401014e0853fc14179f24dab57aa0a8e32996aa7 100644 (file)
@@ -1877,7 +1877,8 @@ void BKE_curve_bevel_make(Object *ob, ListBase *disp)
       }
       /* Don't duplicate the last back vertex. */
       angle = (cu->ext1 == 0.0f && (cu->flag & CU_BACK)) ? dangle : 0;
-      for (a = 0; a < cu->bevresol + 2; a++) {
+      int front_len = (cu->ext1 == 0.0f) ? cu->bevresol + 1 : cu->bevresol + 2;
+      for (a = 0; a < front_len; a++) {
         fp[0] = 0.0;
         fp[1] = (float)(cosf(angle) * (cu->ext2));
         fp[2] = (float)(sinf(angle) * (cu->ext2)) + cu->ext1;