s4-finddcs: ensure we free previous cldap requests before starting a new one
authorAndrew Tridgell <tridge@samba.org>
Wed, 15 Sep 2010 02:22:48 +0000 (12:22 +1000)
committerAndrew Tridgell <tridge@samba.org>
Wed, 15 Sep 2010 05:39:36 +0000 (15:39 +1000)
source4/libcli/finddcs_cldap.c

index ec3bc25fb1fcc6b8a09cf21457fd26a9f8c7f7e2..33e31a9cf77388004404ea7719292b0887ed42bf 100644 (file)
@@ -214,6 +214,7 @@ static void finddcs_cldap_netlogon_replied(struct tevent_req *subreq)
        state = tevent_req_callback_data(subreq, struct finddcs_cldap_state);
 
        status = cldap_netlogon_recv(subreq, state->netlogon, state->netlogon);
+       talloc_free(subreq);
        if (!NT_STATUS_IS_OK(status)) {
                state->srv_address_index++;
                finddcs_cldap_next_server(state);
@@ -231,7 +232,6 @@ static void finddcs_cldap_netlogon_replied(struct tevent_req *subreq)
                return;
        }
 
-       talloc_free(subreq);
        tevent_req_done(state->req);
 }