]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3-libads: fix a memory leak in ads_sasl_spnego_bind()
authorUri Simchoni <uri@samba.org>
Sun, 3 Jul 2016 19:51:56 +0000 (22:51 +0300)
committerKarolin Seeger <kseeger@samba.org>
Fri, 8 Jul 2016 08:52:11 +0000 (10:52 +0200)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12006

Signed-off-by: Uri Simchoni <uri@samba.org>
Reviewed-by: Richard Sharpe <rsharpe@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
(cherry picked from commit a646d9e796902dcb5246eb585433d4859796be2f)

source3/libads/sasl.c

index 10f63e891817b51e65de883f6ffcbf6cca2dce26..d76d8724ac0a39f78a7a83663379c81bf0579932 100644 (file)
@@ -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;
 }