diff options
author | Andrew Bartlett <abartlet@samba.org> | 2009-08-04 14:36:14 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2009-08-04 16:10:39 +1000 |
commit | 9b02d2391443c3c56d607d034d9d200703aa840b (patch) | |
tree | 9e38b6aa6a7c24e9339fde652068caf0d4af2891 /source4/rpc_server/netlogon | |
parent | 1937ab3668e6a4667ac4334a6e1bea2cc75cfb1d (diff) | |
download | samba-9b02d2391443c3c56d607d034d9d200703aa840b.tar.gz samba-9b02d2391443c3c56d607d034d9d200703aa840b.tar.bz2 samba-9b02d2391443c3c56d607d034d9d200703aa840b.zip |
s4:netlogon Fix warnings and segfault in GetDomainInfo call
- Correctly use samdb_search_string to do a 'base' search
(this needs a NULL, not a "" argument for the format string)
- There is no need (and it caused a security hole) to use
talloc_asprintf() with the only argument being the string to
duplicate.
Andrew Bartlett
Diffstat (limited to 'source4/rpc_server/netlogon')
-rw-r--r-- | source4/rpc_server/netlogon/dcerpc_netlogon.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/source4/rpc_server/netlogon/dcerpc_netlogon.c b/source4/rpc_server/netlogon/dcerpc_netlogon.c index 4fedf54fbc..cee94d8ea6 100644 --- a/source4/rpc_server/netlogon/dcerpc_netlogon.c +++ b/source4/rpc_server/netlogon/dcerpc_netlogon.c @@ -1157,8 +1157,9 @@ static NTSTATUS dcesrv_netr_LogonGetDomainInfo(struct dcesrv_call_state *dce_cal NT_STATUS_HAVE_NO_MEMORY(workstation_dn); /* Gets the old DNS hostname */ - old_dns_hostname = samdb_search_string_v(sam_ctx, mem_ctx, - workstation_dn, "dNSHostName", "", NULL); + old_dns_hostname = samdb_search_string(sam_ctx, mem_ctx, + workstation_dn, "dNSHostName", + NULL); /* Gets host informations and put them in our directory */ new_msg = ldb_msg_new(mem_ctx); @@ -1197,8 +1198,8 @@ static NTSTATUS dcesrv_netr_LogonGetDomainInfo(struct dcesrv_call_state *dce_cal os_version = &r->in.query->workstation_info->os_version.os->os; samdb_msg_set_string(sam_ctx, mem_ctx, new_msg, - "operatingSystemServicePack", - talloc_asprintf(mem_ctx, os_version->CSDVersion)); + "operatingSystemServicePack", + os_version->CSDVersion); samdb_msg_set_string(sam_ctx, mem_ctx, new_msg, "operatingSystemVersion", |