From dddc5725dbb1acb6a2c0379e072fce8e42801548 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Wed, 4 Jun 2008 02:43:41 +0200 Subject: libnetjoin: only close existing policy handles while unjoining. Guenther (This used to be commit 6dbed6e7b7300962e11fdce1a713e6f3ea2cb619) --- source3/libnet/libnet_join.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'source3') diff --git a/source3/libnet/libnet_join.c b/source3/libnet/libnet_join.c index d0ecd225ad..1ab75d7882 100644 --- a/source3/libnet/libnet_join.c +++ b/source3/libnet/libnet_join.c @@ -1115,6 +1115,10 @@ static NTSTATUS libnet_join_unjoindomain_rpc(TALLOC_CTX *mem_ctx, struct samr_Ids name_types; union samr_UserInfo *info = NULL; + ZERO_STRUCT(sam_pol); + ZERO_STRUCT(domain_pol); + ZERO_STRUCT(user_pol); + status = cli_full_connection(&cli, NULL, r->in.dc_name, NULL, 0, @@ -1216,8 +1220,12 @@ static NTSTATUS libnet_join_unjoindomain_rpc(TALLOC_CTX *mem_ctx, done: if (pipe_hnd) { - rpccli_samr_Close(pipe_hnd, mem_ctx, &domain_pol); - rpccli_samr_Close(pipe_hnd, mem_ctx, &sam_pol); + if (is_valid_policy_hnd(&domain_pol)) { + rpccli_samr_Close(pipe_hnd, mem_ctx, &domain_pol); + } + if (is_valid_policy_hnd(&sam_pol)) { + rpccli_samr_Close(pipe_hnd, mem_ctx, &sam_pol); + } TALLOC_FREE(pipe_hnd); } -- cgit