Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-01-29 04:20:04 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-01-29 04:20:04 +0400
commitcf9472238003123a867884a9a9461edf3a916183 (patch)
tree60f34058516ff6aa25779b7fa6dd75240b1f054c /source/blender/editors/transform
parentc08a1c4cede2ad972c927dc04c77151b37cc736c (diff)
code cleanup: var rename and add assert, when writing to out of bounds array.
minor edit to recent tip change.
Diffstat (limited to 'source/blender/editors/transform')
-rw-r--r--source/blender/editors/transform/transform.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index ac431435044..de73c6f14a2 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -4991,7 +4991,7 @@ static int createEdgeSlideVerts(TransInfo *t)
BMesh *bm = em->bm;
BMIter iter;
BMEdge *e, *e1;
- BMVert *v, *v2, *first;
+ BMVert *v, *v2;
TransDataEdgeSlideVert *sv_array;
BMBVHTree *btree;
SmallHash table;
@@ -5098,6 +5098,7 @@ static int createEdgeSlideVerts(TransInfo *t)
j = 0;
while (1) {
BMLoop *l, *l1, *l2;
+ BMVert *v_first;
v = NULL;
BM_ITER_MESH (v, &iter, bm, BM_VERTS_OF_MESH) {
@@ -5112,7 +5113,7 @@ static int createEdgeSlideVerts(TransInfo *t)
if (!v->e)
continue;
- first = v;
+ v_first = v;
/*walk along the edge loop*/
e = v->e;
@@ -5132,7 +5133,7 @@ static int createEdgeSlideVerts(TransInfo *t)
break;
v = BM_edge_other_vert(e, v);
- } while (e != first->e);
+ } while (e != v_first->e);
BM_elem_flag_disable(v, BM_ELEM_TAG);
@@ -5152,10 +5153,12 @@ static int createEdgeSlideVerts(TransInfo *t)
}
/*iterate over the loop*/
- first = v;
+ v_first = v;
do {
TransDataEdgeSlideVert *sv = sv_array + j;
+ BLI_assert(j < MEM_allocN_len(sv_array) / sizeof(*sv));
+
sv->v = v;
sv->origvert = *v;
sv->loop_nr = loop_nr;
@@ -5179,6 +5182,8 @@ static int createEdgeSlideVerts(TransInfo *t)
if (!e) {
//v2=v, v = BM_edge_other_vert(l1->e, v);
+ BLI_assert(j + 1 < MEM_allocN_len(sv_array) / sizeof(*sv));
+
sv = sv_array + j + 1;
sv->v = v;
sv->origvert = *v;
@@ -5208,7 +5213,7 @@ static int createEdgeSlideVerts(TransInfo *t)
BM_elem_flag_disable(v, BM_ELEM_TAG);
BM_elem_flag_disable(v2, BM_ELEM_TAG);
- } while (e != first->e && l1);
+ } while (e != v_first->e && l1);
loop_nr++;
}