summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2010-06-10 12:33:35 +0200
committerStephen Gallagher <sgallagh@redhat.com>2010-06-14 16:54:42 -0400
commita28ca31bb77ce38bb8821681b00113fd6525fa17 (patch)
tree2e154ca50328e86652a8f6dfe1d77411bf3c7241
parentc4dcc8413f6de1714227f8dc2f3e1558f8ab75fa (diff)
downloadsssd-a28ca31bb77ce38bb8821681b00113fd6525fa17.tar.gz
sssd-a28ca31bb77ce38bb8821681b00113fd6525fa17.tar.xz
sssd-a28ca31bb77ce38bb8821681b00113fd6525fa17.zip
Fix invalid talloc_move in groupshow
-rw-r--r--src/tools/sss_groupshow.c8
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;
}