From a28ca31bb77ce38bb8821681b00113fd6525fa17 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Thu, 10 Jun 2010 12:33:35 +0200 Subject: Fix invalid talloc_move in groupshow --- src/tools/sss_groupshow.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/tools/sss_groupshow.c b/src/tools/sss_groupshow.c index 213372031..1765668d4 100644 --- a/src/tools/sss_groupshow.c +++ b/src/tools/sss_groupshow.c @@ -720,6 +720,7 @@ static void group_show_recurse_next(struct tevent_req *subreq) struct group_show_recurse *recurse_state = tevent_req_data(req, struct group_show_recurse); const char **group_members = NULL; + const char **gm = NULL; int nmembers = 0; struct ldb_message *msg = NULL; int ret; @@ -758,8 +759,13 @@ static void group_show_recurse_next(struct tevent_req *subreq) tevent_req_error(req, ENOMEM); return; } + /* to free group_members in the callback */ - group_members = talloc_move(recurse_req, &group_members); + gm = talloc_move(recurse_req, &group_members); + if (gm == NULL) { + tevent_req_error(req, ENOMEM); + return; + } tevent_req_set_callback(recurse_req, group_show_recurse_level_done, req); return; } -- cgit