From: Günther Deschner Date: Wed, 4 Jun 2008 00:43:41 +0000 (+0200) Subject: libnetjoin: only close existing policy handles while unjoining. X-Git-Tag: samba-3.3.0pre1~1034 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6dbed6e7b7300962e11fdce1a713e6f3ea2cb619;p=thirdparty%2Fsamba.git libnetjoin: only close existing policy handles while unjoining. Guenther --- diff --git a/source/libnet/libnet_join.c b/source/libnet/libnet_join.c index d0ecd225ada..1ab75d78821 100644 --- a/source/libnet/libnet_join.c +++ b/source/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); }