From 8194fc37571257d4b5df3e78f5e38e914b18dc43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Deschner?= Date: Fri, 12 Mar 2010 00:30:52 +0100 Subject: [PATCH] s3-netlogon: Fix bug #7237: _netr_SamLogon segfaults for clients sending NULL domain. Thanks to Marc Muehlfeld . Guenther --- source3/rpc_server/srv_netlog_nt.c | 18 ++++++++++++------ 1 files changed, 12 insertions(+), 6 deletions(-) diff --git a/source3/rpc_server/srv_netlog_nt.c b/source3/rpc_server/srv_netlog_nt.c index b9bfda9..b41b3d1 100644 --- a/source3/rpc_server/srv_netlog_nt.c +++ b/source3/rpc_server/srv_netlog_nt.c @@ -1142,17 +1142,23 @@ static NTSTATUS _netr_LogonSamLogon_base(pipes_struct *p, case NetlogonServiceInformation: case NetlogonInteractiveTransitiveInformation: case NetlogonServiceTransitiveInformation: - nt_username = logon->password->identity_info.account_name.string; - nt_domain = logon->password->identity_info.domain_name.string; - nt_workstation = logon->password->identity_info.workstation.string; + nt_username = logon->password->identity_info.account_name.string ? + logon->password->identity_info.account_name.string : ""; + nt_domain = logon->password->identity_info.domain_name.string ? + logon->password->identity_info.domain_name.string : ""; + nt_workstation = logon->password->identity_info.workstation.string ? + logon->password->identity_info.workstation.string : ""; DEBUG(3,("SAM Logon (Interactive). Domain:[%s]. ", lp_workgroup())); break; case NetlogonNetworkInformation: case NetlogonNetworkTransitiveInformation: - nt_username = logon->network->identity_info.account_name.string; - nt_domain = logon->network->identity_info.domain_name.string; - nt_workstation = logon->network->identity_info.workstation.string; + nt_username = logon->network->identity_info.account_name.string ? + logon->network->identity_info.account_name.string : ""; + nt_domain = logon->network->identity_info.domain_name.string ? + logon->network->identity_info.domain_name.string : ""; + nt_workstation = logon->network->identity_info.workstation.string ? + logon->network->identity_info.workstation.string : ""; DEBUG(3,("SAM Logon (Network). Domain:[%s]. ", lp_workgroup())); break; -- 1.6.6.1