[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58030] trunk/blender/source/blender/bmesh /operators/bmo_fill_edgeloop.c: fix for writing past array end with loop filling.
Campbell Barton
ideasman42 at gmail.com
Sat Jul 6 04:20:41 CEST 2013
Revision: 58030
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58030
Author: campbellbarton
Date: 2013-07-06 02:20:39 +0000 (Sat, 06 Jul 2013)
Log Message:
-----------
fix for writing past array end with loop filling.
Modified Paths:
--------------
trunk/blender/source/blender/bmesh/operators/bmo_fill_edgeloop.c
Modified: trunk/blender/source/blender/bmesh/operators/bmo_fill_edgeloop.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_fill_edgeloop.c 2013-07-06 01:42:45 UTC (rev 58029)
+++ trunk/blender/source/blender/bmesh/operators/bmo_fill_edgeloop.c 2013-07-06 02:20:39 UTC (rev 58030)
@@ -62,22 +62,19 @@
BMO_elem_flag_enable(bm, e, EDGE_MARK);
BM_ITER_ELEM (v, &viter, e, BM_VERTS_OF_EDGE) {
if (BMO_elem_flag_test(bm, v, VERT_USED) == false) {
- BMO_elem_flag_enable(bm, v, VERT_USED);
- verts[i++] = v;
if (i == tote) {
- break;
+ goto cleanup;
}
+
+ BMO_elem_flag_enable(bm, v, VERT_USED);
+ verts[i++] = v;
}
}
- if (i > tote) {
- break;
- }
}
/* we have a different number of verts to edges */
if (i != tote) {
- MEM_freeN(verts);
- return;
+ goto cleanup;
}
/* loop over connected flagged edges and fill in faces, this is made slightly more
@@ -156,5 +153,6 @@
BMO_slot_buffer_from_enabled_flag(bm, op, op->slots_out, "faces.out", BM_FACE, ELE_OUT);
}
+cleanup:
MEM_freeN(verts);
}
More information about the Bf-blender-cvs
mailing list