diff options
Diffstat (limited to 'source/blender/bmesh/operators/bmo_extrude.c')
-rw-r--r-- | source/blender/bmesh/operators/bmo_extrude.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/bmesh/operators/bmo_extrude.c b/source/blender/bmesh/operators/bmo_extrude.c index 0a08b340e87..ffdce943d9f 100644 --- a/source/blender/bmesh/operators/bmo_extrude.c +++ b/source/blender/bmesh/operators/bmo_extrude.c @@ -459,8 +459,10 @@ void bmo_extrude_face_region_exec(BMesh *bm, BMOperator *op) } /* Allocate array to store possible vertices that will be dissolved. */ - int boundary_verts_len = BMO_slot_map_count(dupeop.slots_out, "boundary_map.out"); - dissolve_verts = MEM_mallocN((size_t)boundary_verts_len * sizeof(*dissolve_verts), __func__); + int boundary_edges_len = BMO_slot_map_count(dupeop.slots_out, "boundary_map.out"); + /* We do not know the real number of boundary vertices. */ + int boundary_verts_len_maybe = 2 * boundary_edges_len; + dissolve_verts = MEM_mallocN(boundary_verts_len_maybe * sizeof(*dissolve_verts), __func__); } BMO_slot_copy(&dupeop, slots_out, "geom.out", op, slots_out, "geom.out"); |