From cf9472238003123a867884a9a9461edf3a916183 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 29 Jan 2013 00:20:04 +0000 Subject: code cleanup: var rename and add assert, when writing to out of bounds array. minor edit to recent tip change. --- source/blender/editors/transform/transform.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'source/blender/editors/transform') 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++; } -- cgit v1.2.3