[SCM] Samba Shared Repository - branch v3-2-test updated - release-3-2-0pre2-428-gaa43775

Günther Deschner gd at samba.org
Tue Mar 25 22:37:03 GMT 2008


The branch, v3-2-test has been updated
       via  aa4377561b691e2c5108c18aeb34fff39d8775df (commit)
       via  559cd9e5a7fac3ce3769d457132cdcb28569b93d (commit)
      from  38683a73013865695e1b04f5f6a974bd0c5c1cac (commit)

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


- Log -----------------------------------------------------------------
commit aa4377561b691e2c5108c18aeb34fff39d8775df
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Mar 25 22:35:20 2008 +0100

    Fix a valgrind error
    
    In winbind, we're using the info3 struct to send it to the winbind client after
    netsamlogon_cache_store. Without this info3->base.account_name.string was
    prematurely freed.

commit 559cd9e5a7fac3ce3769d457132cdcb28569b93d
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Mar 25 22:21:50 2008 +0100

    Fix a segfault
    
    When we get a NT_STATUS_WRONG_PASSWORD for example, my_info3 is not initialized
    at all. So first check that we have NT_STATUS_IS_OK(status) before we
    dereference my_info3.

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

Summary of changes:
 source/libsmb/samlogon_cache.c |    2 +-
 source/winbindd/winbindd_pam.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/libsmb/samlogon_cache.c b/source/libsmb/samlogon_cache.c
index 73b570c..2358809 100644
--- a/source/libsmb/samlogon_cache.c
+++ b/source/libsmb/samlogon_cache.c
@@ -149,7 +149,7 @@ bool netsamlogon_cache_store(const char *username, struct netr_SamInfo3 *info3)
 	/* so we fill it in since winbindd_getpwnam() makes use of it */
 
 	if (!info3->base.account_name.string) {
-		info3->base.account_name.string = talloc_strdup(mem_ctx, username);
+		info3->base.account_name.string = talloc_strdup(info3, username);
 	}
 
 	r.timestamp = t;
diff --git a/source/winbindd/winbindd_pam.c b/source/winbindd/winbindd_pam.c
index c56eb1b..5712f08 100644
--- a/source/winbindd/winbindd_pam.c
+++ b/source/winbindd/winbindd_pam.c
@@ -1362,7 +1362,7 @@ NTSTATUS winbindd_dual_pam_auth_samlogon(struct winbindd_domain *domain,
 	 * caller, we look up the account flags ourselve - gd */
 
 	if ((state->request.flags & WBFLAG_PAM_INFO3_TEXT) && 
-	    (my_info3->base.acct_flags == 0) && NT_STATUS_IS_OK(result)) {
+	    NT_STATUS_IS_OK(result) && (my_info3->base.acct_flags == 0)) {
 
 		struct rpc_pipe_client *samr_pipe;
 		POLICY_HND samr_domain_handle, user_pol;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list