svn commit: samba r16226 - in branches/SAMBA_4_0/source/libnet: .
abartlet at samba.org
abartlet at samba.org
Wed Jun 14 16:08:44 GMT 2006
Author: abartlet
Date: 2006-06-14 16:08:43 +0000 (Wed, 14 Jun 2006)
New Revision: 16226
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=16226
Log:
Fixes for various segfault bugs found against a buggy Samba4. With
the current API we need to check both that the RPC didn't fault, and
that the query succeeded.
Also print the right things in debug messages.
Andrew Bartlett
Modified:
branches/SAMBA_4_0/source/libnet/libnet_join.c
branches/SAMBA_4_0/source/libnet/libnet_rpc.c
Changeset:
Modified: branches/SAMBA_4_0/source/libnet/libnet_join.c
===================================================================
--- branches/SAMBA_4_0/source/libnet/libnet_join.c 2006-06-14 15:33:44 UTC (rev 16225)
+++ branches/SAMBA_4_0/source/libnet/libnet_join.c 2006-06-14 16:08:43 UTC (rev 16226)
@@ -642,7 +642,7 @@
if (!NT_STATUS_IS_OK(status)) {
r->out.error_string = talloc_asprintf(mem_ctx,
"samr_CreateUser2 (recreate) for [%s] failed: %s\n",
- r->in.domain_name, nt_errstr(status));
+ r->in.account_name, nt_errstr(status));
talloc_free(tmp_ctx);
return status;
}
@@ -650,7 +650,7 @@
} else if (!NT_STATUS_IS_OK(status)) {
r->out.error_string = talloc_asprintf(mem_ctx,
"samr_CreateUser2 for [%s] failed: %s\n",
- r->in.domain_name, nt_errstr(status));
+ r->in.account_name, nt_errstr(status));
talloc_free(tmp_ctx);
return status;
}
Modified: branches/SAMBA_4_0/source/libnet/libnet_rpc.c
===================================================================
--- branches/SAMBA_4_0/source/libnet/libnet_rpc.c 2006-06-14 15:33:44 UTC (rev 16225)
+++ branches/SAMBA_4_0/source/libnet/libnet_rpc.c 2006-06-14 16:08:43 UTC (rev 16226)
@@ -474,6 +474,11 @@
return;
}
+ if (!NT_STATUS_IS_OK(s->lsa_query_info2.out.result)) {
+ composite_error(c, s->lsa_query_info2.out.result);
+ return;
+ }
+
/* query lsa info for dns domain name and guid */
s->lsa_query_info2.in.handle = &s->lsa_handle;
s->lsa_query_info2.in.level = LSA_POLICY_INFO_DNS;
@@ -517,6 +522,14 @@
return;
}
+ if (!NT_STATUS_IS_OK(s->lsa_query_info2.out.result)) {
+ s->r.out.error_string = talloc_asprintf(c,
+ "lsa_QueryInfoPolicy2 failed: %s",
+ nt_errstr(s->lsa_query_info2.out.result));
+ composite_error(c, s->lsa_query_info2.out.result);
+ return;
+ }
+
/* Copy the dns domain name and guid from the query result */
/* this should actually be a conversion from lsa_StringLarge */
More information about the samba-cvs
mailing list