From c94c765f01dc145ee7f1abfe1379ed9c923f3d43 Mon Sep 17 00:00:00 2001 From: Chris Davis Date: Mon, 7 Jul 2014 21:30:49 -0700 Subject: [PATCH] regedit: simplify cleanup after loading children Signed-off-by: Chris Davis Reviewed-by: Andreas Schneider Reviewed-by: Michael Adam --- source3/utils/regedit_treeview.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/source3/utils/regedit_treeview.c b/source3/utils/regedit_treeview.c index dd4b5cb08cb..47d92821e8a 100644 --- a/source3/utils/regedit_treeview.c +++ b/source3/utils/regedit_treeview.c @@ -274,7 +274,7 @@ WERROR tree_node_load_children(struct tree_node *node) continue; } - array[count] = tree_node_new(node, node, key_name, key); + array[count] = tree_node_new(array, node, key_name, key); if (array[count] == NULL) { rv = WERR_NOMEM; goto finish; @@ -286,21 +286,16 @@ WERROR tree_node_load_children(struct tree_node *node) TYPESAFE_QSORT(array, count, node_cmp); for (i = 1, prev = array[0]; i < count; ++i) { + talloc_steal(node, array[i]); tree_node_append(prev, array[i]); prev = array[i]; } - node->child_head = array[0]; + node->child_head = talloc_steal(node, array[0]); rv = WERR_OK; } finish: - if (!W_ERROR_IS_OK(rv)) { - for (i = 0; i < nsubkeys; ++i) { - talloc_free(array[i]); - } - node->child_head = NULL; - } talloc_free(array); return rv; -- 2.11.4.GIT