diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/tools/sss_groupshow.c | 8 |
1 files changed, 7 insertions, 1 deletions
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; } |