1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00

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
This commit is contained in:
Volker Lendecke 2011-03-20 10:35:18 +01:00 committed by Volker Lendecke
parent a8eea9e946
commit 4828feddb7

View File

@ -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);