From 901add3df78409ae8d5baeec084d23edd35ac737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Wed, 6 Jul 2005 01:02:48 +0000 Subject: [PATCH] krb5_kt_close frees all resources, even on error. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15558 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/keytab.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/krb5/keytab.c b/lib/krb5/keytab.c index f68258ab7..e450d6511 100644 --- a/lib/krb5/keytab.c +++ b/lib/krb5/keytab.c @@ -240,8 +240,8 @@ krb5_kt_get_name(krb5_context context, } /* - * Finish using the keytab in `id'. All resources will be released. - * Return 0 or an error. + * Finish using the keytab in `id'. All resources will be released, + * even on errors. Return 0 or an error. */ krb5_error_code KRB5_LIB_FUNCTION @@ -251,8 +251,8 @@ krb5_kt_close(krb5_context context, krb5_error_code ret; ret = (*id->close)(context, id); - if(ret == 0) - free(id); + memset(id, 0, sizeof(*id)); + free(id); return ret; }