The branch, v3-6-test has been updated
       via  8bb8f00 Bug 9807 - wbinfo: fix segfault in wbinfo_pam_logon
      from  afcbaf3 BUG 9766: Cache name_to_sid/sid_to_name correctly.

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


- Log -----------------------------------------------------------------
commit 8bb8f0011e567501a98a901adcfffbf4f34e73ae
Author: David Disseldorp <dd...@samba.org>
Date:   Wed Apr 17 10:39:12 2013 -0700

    Bug 9807 - wbinfo: fix segfault in wbinfo_pam_logon
    
    wbinfo_pam_logon() incorrectly assumes that wbcLogonUser() always
    returns an allocated wbcAuthErrorInfo struct on failure.
    
    Signed-off-by: David Disseldorp <dd...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>
    
    Autobuild-User(master): Jeremy Allison <j...@samba.org>
    Autobuild-Date(master): Wed Apr 17 21:29:29 CEST 2013 on sn-devel-104

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

Summary of changes:
 nsswitch/wbinfo.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/nsswitch/wbinfo.c b/nsswitch/wbinfo.c
index ac07175..9d25f59 100644
--- a/nsswitch/wbinfo.c
+++ b/nsswitch/wbinfo.c
@@ -1728,7 +1728,7 @@ static bool wbinfo_pam_logon(char *username)
 {
        wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
        struct wbcLogonUserParams params;
-       struct wbcAuthErrorInfo *error;
+       struct wbcAuthErrorInfo *error = NULL;
        char *s = NULL;
        char *p = NULL;
        TALLOC_CTX *frame = talloc_tos();
@@ -1779,16 +1779,15 @@ static bool wbinfo_pam_logon(char *username)
        d_printf("plaintext password authentication %s\n",
                 WBC_ERROR_IS_OK(wbc_status) ? "succeeded" : "failed");
 
-       if (!WBC_ERROR_IS_OK(wbc_status)) {
+       if (!WBC_ERROR_IS_OK(wbc_status) && (error != NULL)) {
                d_fprintf(stderr,
                          "error code was %s (0x%x)\nerror message was: %s\n",
                          error->nt_string,
                          (int)error->nt_status,
                          error->display_string);
                wbcFreeMemory(error);
-               return false;
        }
-       return true;
+       return WBC_ERROR_IS_OK(wbc_status);
 }
 
 /* Save creds with winbind */


-- 
Samba Shared Repository

Reply via email to