The branch, v3-5-test has been updated
       via  eb81e0d... s3-netlogon: Fix bug #7237: _netr_SamLogon segfaults for 
clients sending NULL domain.
      from  95c6a5a... s3:release-scripts: fix create-tarball to treat vendor 
patch level correctly (cherry picked from commit 
b845025daf2da85eb1af6cbfa7878cf59a32f2a6)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test


- Log -----------------------------------------------------------------
commit eb81e0d732a327a555091e16dce91dd75ffd5092
Author: Günther Deschner <[email protected]>
Date:   Fri Mar 12 00:30:52 2010 +0100

    s3-netlogon: Fix bug #7237: _netr_SamLogon segfaults for clients sending 
NULL domain.
    
    Thanks to Marc Muehlfeld <[email protected]>.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source3/rpc_server/srv_netlog_nt.c |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/rpc_server/srv_netlog_nt.c 
b/source3/rpc_server/srv_netlog_nt.c
index 8f4381c..1ebe361 100644
--- a/source3/rpc_server/srv_netlog_nt.c
+++ b/source3/rpc_server/srv_netlog_nt.c
@@ -1113,17 +1113,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;


-- 
Samba Shared Repository

Reply via email to