From 553ea6de8b57c682a5bc7e9169860d95e659af1d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 1 Apr 2016 05:42:15 +1100 Subject: Fix NULL check before free --- source/blender/editors/mesh/editmesh_knife.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'source/blender/editors/mesh/editmesh_knife.c') diff --git a/source/blender/editors/mesh/editmesh_knife.c b/source/blender/editors/mesh/editmesh_knife.c index 59967ffb2bb..94807559a75 100644 --- a/source/blender/editors/mesh/editmesh_knife.c +++ b/source/blender/editors/mesh/editmesh_knife.c @@ -2276,12 +2276,8 @@ static void knife_make_face_cuts(KnifeTool_OpData *kcd, BMFace *f, ListBase *kfe KnifeEdge *kfe; Ref *ref; int edge_array_len = BLI_listbase_count(kfedges); - bool ok; int i; - BMFace **face_arr; - int face_arr_len; - BMEdge **edge_array = BLI_array_alloca(edge_array, edge_array_len); /* point to knife edges we've created edges in, edge_array aligned */ @@ -2357,12 +2353,17 @@ static void knife_make_face_cuts(KnifeTool_OpData *kcd, BMFace *f, ListBase *kfe } #endif - ok = BM_face_split_edgenet( - bm, f, edge_array, edge_array_len, - &face_arr, &face_arr_len); + { + BMFace **face_arr = NULL; + int face_arr_len; + + BM_face_split_edgenet( + bm, f, edge_array, edge_array_len, + &face_arr, &face_arr_len); - if (ok) { - MEM_freeN(face_arr); + if (face_arr) { + MEM_freeN(face_arr); + } } /* remove dangling edges, not essential - but nice for users */ -- cgit v1.2.3