diff options
Diffstat (limited to 'source3/rpc_server')
-rw-r--r-- | 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 b9bfda9a83..b41b3d1070 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; |