The branch, master has been updated
       via  77f3730 auth: fix a memory leak in gssapi_get_session_key()
       via  a646d9e s3-libads: fix a memory leak in ads_sasl_spnego_bind()
      from  c9d61db ctdb-build: Exit if requested feature cannot be built

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


- Log -----------------------------------------------------------------
commit 77f3730295735dc9465c8e3d07fc761c83761b6e
Author: Uri Simchoni <u...@samba.org>
Date:   Sun Jul 3 22:50:22 2016 +0300

    auth: fix a memory leak in gssapi_get_session_key()
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=12006
    
    Signed-off-by: Uri Simchoni <u...@samba.org>
    Signed-off-by: Richard Sharpe <rsha...@samba.org>
    Signed-off-by: Andreas Schneider <a...@samba.org>
    
    Autobuild-User(master): Richard Sharpe <sha...@samba.org>
    Autobuild-Date(master): Wed Jul  6 00:40:15 CEST 2016 on sn-devel-144

commit a646d9e796902dcb5246eb585433d4859796be2f
Author: Uri Simchoni <u...@samba.org>
Date:   Sun Jul 3 22:51:56 2016 +0300

    s3-libads: fix a memory leak in ads_sasl_spnego_bind()
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=12006
    
    Signed-off-by: Uri Simchoni <u...@samba.org>
    Signed-off-by: Richard Sharpe <rsha...@samba.org>
    Signed-off-by: Andreas Schneider <a...@samba.org>

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

Summary of changes:
 auth/kerberos/gssapi_pac.c | 7 +------
 source3/libads/sasl.c      | 5 ++++-
 2 files changed, 5 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/auth/kerberos/gssapi_pac.c b/auth/kerberos/gssapi_pac.c
index 685d0ec..74c199a 100644
--- a/auth/kerberos/gssapi_pac.c
+++ b/auth/kerberos/gssapi_pac.c
@@ -246,6 +246,7 @@ NTSTATUS gssapi_get_session_key(TALLOC_CTX *mem_ctx,
                int diflen, i;
                const uint8_t *p;
 
+               *keytype = 0;
                if (set->count < 2) {
 
 #ifdef HAVE_GSSKRB5_GET_SUBKEY
@@ -256,10 +257,6 @@ NTSTATUS gssapi_get_session_key(TALLOC_CTX *mem_ctx,
                        if (gss_maj == 0) {
                                *keytype = KRB5_KEY_TYPE(subkey);
                                krb5_free_keyblock(NULL /* should be 
krb5_context */, subkey);
-                       } else
-#else
-                       {
-                               *keytype = 0;
                        }
 #endif
                        gss_maj = gss_release_buffer_set(&gss_min, &set);
@@ -270,7 +267,6 @@ NTSTATUS gssapi_get_session_key(TALLOC_CTX *mem_ctx,
                                  gse_sesskeytype_oid.elements,
                                  gse_sesskeytype_oid.length) != 0) {
                        /* Perhaps a non-krb5 session key */
-                       *keytype = 0;
                        gss_maj = gss_release_buffer_set(&gss_min, &set);
                        return NT_STATUS_OK;
                }
@@ -280,7 +276,6 @@ NTSTATUS gssapi_get_session_key(TALLOC_CTX *mem_ctx,
                        gss_maj = gss_release_buffer_set(&gss_min, &set);
                        return NT_STATUS_INVALID_PARAMETER;
                }
-               *keytype = 0;
                for (i = 0; i < diflen; i++) {
                        *keytype = (*keytype << 7) | (p[i] & 0x7f);
                        if (i + 1 != diflen && (p[i] & 0x80) == 0) {
diff --git a/source3/libads/sasl.c b/source3/libads/sasl.c
index 10f63e8..d76d872 100644
--- a/source3/libads/sasl.c
+++ b/source3/libads/sasl.c
@@ -696,7 +696,7 @@ static ADS_STATUS ads_sasl_spnego_bind(ADS_STRUCT *ads)
        struct berval *scred=NULL;
        int rc, i;
        ADS_STATUS status;
-       DATA_BLOB blob;
+       DATA_BLOB blob = data_blob_null;
        char *given_principal = NULL;
        char *OIDs[ASN1_MAX_OIDS];
 #ifdef HAVE_KRB5
@@ -792,6 +792,9 @@ static ADS_STATUS ads_sasl_spnego_bind(ADS_STRUCT *ads)
 done:
        ads_free_service_principal(&p);
        TALLOC_FREE(frame);
+       if (blob.data != NULL) {
+               data_blob_free(&blob);
+       }
        return status;
 }
 


-- 
Samba Shared Repository

Reply via email to