[30594] in CVS-changelog-for-Kerberos-V5

home help back first fref pref prev next nref lref last post

krb5 commit: Fix minor leak when loading GSS mechanisms

daemon@ATHENA.MIT.EDU (Greg Hudson)
Mon Oct 21 18:23:02 2019

Date: Mon, 21 Oct 2019 18:22:56 -0400
From: Greg Hudson <ghudson@mit.edu>
Message-ID: <201910212222.x9LMMuE8025794@drugstore.mit.edu>
To: <cvs-krb5@mit.edu>
MIME-Version: 1.0
Reply-To: krbdev@mit.edu
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: cvs-krb5-bounces@mit.edu

https://github.com/krb5/krb5/commit/d09215c926834d8fa5b4bdb98967bf6c9ff8fda4
commit d09215c926834d8fa5b4bdb98967bf6c9ff8fda4
Author: Greg Hudson <ghudson@mit.edu>
Date:   Wed Oct 16 15:16:54 2019 -0400

    Fix minor leak when loading GSS mechanisms
    
    When gssint_get_mechanism() loads a GSS mech, it must clear errinfo if
    krb5int_open_plugin() or krb5int_get_plugin_func() returns an error.

 src/lib/gssapi/mechglue/g_initialize.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/lib/gssapi/mechglue/g_initialize.c b/src/lib/gssapi/mechglue/g_initialize.c
index 394869e..0054acf 100644
--- a/src/lib/gssapi/mechglue/g_initialize.c
+++ b/src/lib/gssapi/mechglue/g_initialize.c
@@ -1155,6 +1155,7 @@ gssint_get_mechanism(gss_const_OID oid)
 
 	if (krb5int_open_plugin(aMech->uLibName, &dl, &errinfo) != 0 ||
 	    errinfo.code != 0) {
+		k5_clear_error(&errinfo);
 		k5_mutex_unlock(&g_mechListLock);
 		return ((gss_mechanism)NULL);
 	}
@@ -1165,6 +1166,7 @@ gssint_get_mechanism(gss_const_OID oid)
 		aMech->mech = (*sym)(aMech->mech_type);
 	} else {
 		/* Try dynamic dispatch table */
+		k5_clear_error(&errinfo);
 		aMech->mech = build_dynamicMech(dl, aMech->mech_type);
 		aMech->freeMech = 1;
 	}
_______________________________________________
cvs-krb5 mailing list
cvs-krb5@mit.edu
https://mailman.mit.edu/mailman/listinfo/cvs-krb5

home help back first fref pref prev next nref lref last post