diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2010-06-10 12:33:35 +0200 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2010-06-14 16:54:42 -0400 |
commit | a28ca31bb77ce38bb8821681b00113fd6525fa17 (patch) | |
tree | 2e154ca50328e86652a8f6dfe1d77411bf3c7241 | |
parent | c4dcc8413f6de1714227f8dc2f3e1558f8ab75fa (diff) | |
download | sssd-a28ca31bb77ce38bb8821681b00113fd6525fa17.tar.gz sssd-a28ca31bb77ce38bb8821681b00113fd6525fa17.tar.xz sssd-a28ca31bb77ce38bb8821681b00113fd6525fa17.zip |
Fix invalid talloc_move in groupshow
-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; } |