From ed16240f4bc36e984962412a41e4494c662b618d Mon Sep 17 00:00:00 2001 From: Sumit Bose Date: Feb 21 2018 14:26:01 +0000 Subject: AD: sdap_get_ad_tokengroups_done() allocate temporary data on state Related to https://pagure.io/SSSD/sssd/issue/3639 Reviewed-by: Jakub Hrozek --- diff --git a/src/providers/ldap/sdap_async_initgroups_ad.c b/src/providers/ldap/sdap_async_initgroups_ad.c index e281580..281ed9a 100644 --- a/src/providers/ldap/sdap_async_initgroups_ad.c +++ b/src/providers/ldap/sdap_async_initgroups_ad.c @@ -371,7 +371,6 @@ immediately: static void sdap_get_ad_tokengroups_done(struct tevent_req *subreq) { - TALLOC_CTX *tmp_ctx = NULL; struct sdap_get_ad_tokengroups_state *state = NULL; struct tevent_req *req = NULL; struct sysdb_attrs **users = NULL; @@ -385,7 +384,7 @@ static void sdap_get_ad_tokengroups_done(struct tevent_req *subreq) req = tevent_req_callback_data(subreq, struct tevent_req); state = tevent_req_data(req, struct sdap_get_ad_tokengroups_state); - ret = sdap_get_generic_recv(subreq, tmp_ctx, &num_users, &users); + ret = sdap_get_generic_recv(subreq, state, &num_users, &users); talloc_zfree(subreq); if (ret != EOK) { DEBUG(SSSDBG_MINOR_FAILURE, @@ -448,8 +447,6 @@ static void sdap_get_ad_tokengroups_done(struct tevent_req *subreq) ret = EOK; done: - talloc_free(tmp_ctx); - if (ret != EOK) { tevent_req_error(req, ret); return;