diff options
author | Pavel Březina <pbrezina@redhat.com> | 2015-03-25 12:08:04 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-04-14 12:48:19 +0200 |
commit | 840206fc30cd79411e749082d65e48eeecc4e749 (patch) | |
tree | dcf0d3ac3883d792711fe58a6c4dc52fa162e1c8 /src/providers/ldap/ldap_id_enum.c | |
parent | 5fc3aaad046c74dd9a01b7f1f009f27e7351b127 (diff) | |
download | sssd-840206fc30cd79411e749082d65e48eeecc4e749.tar.gz sssd-840206fc30cd79411e749082d65e48eeecc4e749.tar.xz sssd-840206fc30cd79411e749082d65e48eeecc4e749.zip |
enumeration: fix talloc context
If for some reason ptask fails (e.g. timeout), req is talloc freed
but because subreq is attached to ectx which is permanent it is
finished anyway. Then a crash occures when we are trying to access
callback data.
The same happens in sdap_dom_enum_ex_send.
Resolves:
https://fedorahosted.org/sssd/ticket/2611
Reviewed-by: Pavel Reichl <preichl@redhat.com>
(cherry picked from commit 725bb2a9901c4f673b107ed179f5d68ec443ca63)
(cherry picked from commit 81bb9be1ae0b2a4ebe960f136a52576abcdfbbac)
Diffstat (limited to 'src/providers/ldap/ldap_id_enum.c')
-rw-r--r-- | src/providers/ldap/ldap_id_enum.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/providers/ldap/ldap_id_enum.c b/src/providers/ldap/ldap_id_enum.c index 13d2a6254..1aec91a99 100644 --- a/src/providers/ldap/ldap_id_enum.c +++ b/src/providers/ldap/ldap_id_enum.c @@ -133,7 +133,7 @@ ldap_enumeration_send(TALLOC_CTX *mem_ctx, state->dom = ectx->sdom->dom; state->id_ctx = talloc_get_type_abort(ectx->pvt, struct sdap_id_ctx); - subreq = sdap_dom_enum_send(ectx, ev, state->id_ctx, ectx->sdom, + subreq = sdap_dom_enum_send(state, ev, state->id_ctx, ectx->sdom, state->id_ctx->conn); if (subreq == NULL) { /* The ptask API will reschedule the enumeration on its own on |