[Bf-blender-cvs] [771d041c4cb] master: Fix (unreported) memory leak in Extrude mode of the Solidify modifier.

Bastien Montagne noreply at git.blender.org
Thu Sep 24 21:17:45 CEST 2020


Commit: 771d041c4cb3922617484d69f3b3c83c635bcace
Author: Bastien Montagne
Date:   Thu Sep 24 20:52:04 2020 +0200
Branches: master
https://developer.blender.org/rB771d041c4cb3922617484d69f3b3c83c635bcace

Fix (unreported) memory leak in Extrude mode of the Solidify modifier.

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

M	source/blender/modifiers/intern/MOD_solidify_extrude.c

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

diff --git a/source/blender/modifiers/intern/MOD_solidify_extrude.c b/source/blender/modifiers/intern/MOD_solidify_extrude.c
index 818327e120b..b97ee434597 100644
--- a/source/blender/modifiers/intern/MOD_solidify_extrude.c
+++ b/source/blender/modifiers/intern/MOD_solidify_extrude.c
@@ -1004,23 +1004,23 @@ Mesh *MOD_solidify_extrude_modifyMesh(ModifierData *md, const ModifierEvalContex
           &result->vdata, CD_MDEFORMVERT, CD_CALLOC, NULL, result->totvert);
     }
     /* Ultimate security check. */
-    if (!dvert) {
-      return result;
-    }
-    result->dvert = dvert;
-
-    if (rim_defgrp_index != -1) {
-      for (uint i = 0; i < rimVerts; i++) {
-        BKE_defvert_ensure_index(&result->dvert[new_vert_arr[i]], rim_defgrp_index)->weight = 1.0f;
-        BKE_defvert_ensure_index(&result->dvert[(do_shell ? new_vert_arr[i] : i) + numVerts],
-                                 rim_defgrp_index)
-            ->weight = 1.0f;
+    if (dvert != NULL) {
+      result->dvert = dvert;
+
+      if (rim_defgrp_index != -1) {
+        for (uint i = 0; i < rimVerts; i++) {
+          BKE_defvert_ensure_index(&result->dvert[new_vert_arr[i]], rim_defgrp_index)->weight =
+              1.0f;
+          BKE_defvert_ensure_index(&result->dvert[(do_shell ? new_vert_arr[i] : i) + numVerts],
+                                   rim_defgrp_index)
+              ->weight = 1.0f;
+        }
       }
-    }
 
-    if (shell_defgrp_index != -1) {
-      for (uint i = numVerts; i < result->totvert; i++) {
-        BKE_defvert_ensure_index(&result->dvert[i], shell_defgrp_index)->weight = 1.0f;
+      if (shell_defgrp_index != -1) {
+        for (uint i = numVerts; i < result->totvert; i++) {
+          BKE_defvert_ensure_index(&result->dvert[i], shell_defgrp_index)->weight = 1.0f;
+        }
       }
     }
   }



More information about the Bf-blender-cvs mailing list