The branch, master has been updated
       via  804aaad s3-kerberos: use krb5 compat macros in 
fill_keytab_from_password()
       via  d9c63fb Revert "s3-kerberos: use krb5 compat macros in 
fill_keytab_from_password()."
      from  ac317eb s3: Remove unused nss_info_adex_init()

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 804aaad526419e2be9101190bbccf95152f1d4b4
Author: Simo Sorce <i...@samba.org>
Date:   Thu Sep 2 16:09:19 2010 -0400

    s3-kerberos: use krb5 compat macros in fill_keytab_from_password()
    
    This one uses the compat macro in the right way, without actually
    breaking the code.
    
    Signed-off-by: Günther Deschner <g...@samba.org>

commit d9c63fbe9275c0abfc0351cac3669fb52c1c99da
Author: Simo Sorce <i...@samba.org>
Date:   Thu Sep 2 16:07:00 2010 -0400

    Revert "s3-kerberos: use krb5 compat macros in fill_keytab_from_password()."
    
    This reverts commit 9986d25ed195ee77bd73c96f057c527b4c3a8f03.
    
    This patch was causing us to free unallocated memory.
    
    Signed-off-by: Günther Deschner <g...@samba.org>

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

Summary of changes:
 source3/librpc/rpc/dcerpc_krb5.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/librpc/rpc/dcerpc_krb5.c b/source3/librpc/rpc/dcerpc_krb5.c
index 2d39a45..22443b6 100644
--- a/source3/librpc/rpc/dcerpc_krb5.c
+++ b/source3/librpc/rpc/dcerpc_krb5.c
@@ -128,7 +128,10 @@ static krb5_error_code 
fill_keytab_from_password(krb5_context krbctx,
        for (i = 0; enctypes[i]; i++) {
                krb5_keyblock *key = NULL;
 
-               key = KRB5_KT_KEY(&kt_entry);
+               if (!(key = SMB_MALLOC_P(krb5_keyblock))) {
+                       ret = ENOMEM;
+                       goto out;
+               }
 
                if (create_kerberos_key_from_string(krbctx, princ,
                                                    password, key,
@@ -136,11 +139,13 @@ static krb5_error_code 
fill_keytab_from_password(krb5_context krbctx,
                        DEBUG(10, ("Failed to create key for enctype %d "
                                   "(error: %s)\n",
                                   enctypes[i], error_message(ret)));
+                       SAFE_FREE(key);
                        continue;
                }
 
                kt_entry.principal = princ;
                kt_entry.vno = vno;
+               *(KRB5_KT_KEY(&kt_entry)) = *key;
 
                ret = krb5_kt_add_entry(krbctx, keytab, &kt_entry);
                if (ret) {


-- 
Samba Shared Repository

Reply via email to