summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/winbindd/winbindd_dual.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/source3/winbindd/winbindd_dual.c b/source3/winbindd/winbindd_dual.c
index 4d879c6fc4..d958ed0110 100644
--- a/source3/winbindd/winbindd_dual.c
+++ b/source3/winbindd/winbindd_dual.c
@@ -894,7 +894,7 @@ static void machine_password_change_handler(struct event_context *ctx,
struct winbindd_child *child =
(struct winbindd_child *)private_data;
struct rpc_pipe_client *netlogon_pipe = NULL;
- TALLOC_CTX *mem_ctx = NULL;
+ TALLOC_CTX *frame;
NTSTATUS result;
struct timeval next_change;
@@ -914,24 +914,20 @@ static void machine_password_change_handler(struct event_context *ctx,
return;
}
- mem_ctx = talloc_init("machine_password_change_handler ");
- if (!mem_ctx) {
- return;
- }
-
result = cm_connect_netlogon(child->domain, &netlogon_pipe);
if (!NT_STATUS_IS_OK(result)) {
DEBUG(10,("machine_password_change_handler: "
"failed to connect netlogon pipe: %s\n",
nt_errstr(result)));
- TALLOC_FREE(mem_ctx);
return;
}
+ frame = talloc_stackframe();
+
result = trust_pw_find_change_and_store_it(netlogon_pipe,
- mem_ctx,
+ frame,
child->domain->name);
- TALLOC_FREE(mem_ctx);
+ TALLOC_FREE(frame);
if (!NT_STATUS_IS_OK(result)) {
DEBUG(10,("machine_password_change_handler: "