diff options
author | Volker Lendecke <vl@samba.org> | 2011-03-20 10:35:18 +0100 |
---|---|---|
committer | Volker Lendecke <vlendec@samba.org> | 2011-03-20 11:26:57 +0100 |
commit | 4828feddb7e45d1fa4509717ad8f6be281cc84dd (patch) | |
tree | 74f39ed1977c222172d3bac1c5973ad262781e87 | |
parent | a8eea9e946042fa6f75ffa37059e72a447f532ed (diff) | |
download | samba-4828feddb7e45d1fa4509717ad8f6be281cc84dd.tar.gz samba-4828feddb7e45d1fa4509717ad8f6be281cc84dd.tar.bz2 samba-4828feddb7e45d1fa4509717ad8f6be281cc84dd.zip |
s3: Fix early tldap_search cancels
A callback of tldap_search_send might not interested in the rest of the results
and could do a TALLOC_FREE of the search request. In this case, "subreq" is
already free'ed. So we have to set it to pending before the callback is called.
The TALLOC_FREE of the search request will set it to non-pending again via
tldap_msg_destructor.
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Sun Mar 20 11:26:57 CET 2011 on sn-devel-104
-rw-r--r-- | source3/lib/tldap.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source3/lib/tldap.c b/source3/lib/tldap.c index db5d562eff..2f45a056df 100644 --- a/source3/lib/tldap.c +++ b/source3/lib/tldap.c @@ -1703,11 +1703,11 @@ static void tldap_search_done(struct tevent_req *subreq) switch (state->result->type) { case TLDAP_RES_SEARCH_ENTRY: case TLDAP_RES_SEARCH_REFERENCE: - tevent_req_notify_callback(req); if (!tldap_msg_set_pending(subreq)) { tevent_req_nomem(NULL, req); return; } + tevent_req_notify_callback(req); break; case TLDAP_RES_SEARCH_RESULT: TALLOC_FREE(subreq); |