diff options
author | Pavel Březina <pbrezina@redhat.com> | 2013-11-01 12:27:59 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2013-12-19 20:10:08 +0100 |
commit | 9fad27b40eff82bcdffa61cafcc54e2d7750faee (patch) | |
tree | 977154d7704f1d6c865663d388b312a3420dddb2 /src/providers/ldap | |
parent | 16c8b0e7a0ac40b078f98c9f8025d39a59dca9bb (diff) | |
download | sssd-9fad27b40eff82bcdffa61cafcc54e2d7750faee.tar.gz sssd-9fad27b40eff82bcdffa61cafcc54e2d7750faee.tar.xz sssd-9fad27b40eff82bcdffa61cafcc54e2d7750faee.zip |
free idmapped SIDs correctly
Resolves:
https://fedorahosted.org/sssd/ticket/2133
Diffstat (limited to 'src/providers/ldap')
-rw-r--r-- | src/providers/ldap/ldap_id.c | 4 | ||||
-rw-r--r-- | src/providers/ldap/sdap_async_initgroups_ad.c | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/providers/ldap/ldap_id.c b/src/providers/ldap/ldap_id.c index fad158533..793bc99eb 100644 --- a/src/providers/ldap/ldap_id.c +++ b/src/providers/ldap/ldap_id.c @@ -139,7 +139,7 @@ struct tevent_req *users_get_send(TALLOC_CTX *memctx, attr_name = ctx->opts->user_map[SDAP_AT_USER_OBJECTSID].name; ret = sss_filter_sanitize(state, sid, &clean_name); - talloc_zfree(sid); + sss_idmap_free_sid(ctx->opts->idmap_ctx->map, sid); if (ret != EOK) { goto fail; } @@ -509,7 +509,7 @@ struct tevent_req *groups_get_send(TALLOC_CTX *memctx, attr_name = ctx->opts->group_map[SDAP_AT_GROUP_OBJECTSID].name; ret = sss_filter_sanitize(state, sid, &clean_name); - talloc_zfree(sid); + sss_idmap_free_sid(ctx->opts->idmap_ctx->map, sid); if (ret != EOK) { goto fail; } diff --git a/src/providers/ldap/sdap_async_initgroups_ad.c b/src/providers/ldap/sdap_async_initgroups_ad.c index a0841a799..aa72c8876 100644 --- a/src/providers/ldap/sdap_async_initgroups_ad.c +++ b/src/providers/ldap/sdap_async_initgroups_ad.c @@ -594,6 +594,8 @@ sdap_get_ad_tokengroups_initgroups_lookup_done(struct tevent_req *subreq) in_transaction = false; done: + sss_idmap_free_sid(state->opts->idmap_ctx->map, sid_str); + if (in_transaction) { sret = sysdb_transaction_cancel(state->sysdb); DEBUG(SSSDBG_FATAL_FAILURE, |