From 6b76beb9d83f0dc65d09baf4e93345277999e19e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Fri, 7 Apr 2006 13:06:37 +0000 Subject: [PATCH] (kt_remove): Free memory in error handling cases. From Coverity NetBSD CID#1886. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@17004 ec53bebd-3082-4978-b11e-865c3cabbd6b --- admin/remove.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/admin/remove.c b/admin/remove.c index 44d19bd6f..2f6fbdddb 100644 --- a/admin/remove.c +++ b/admin/remove.c @@ -69,11 +69,14 @@ kt_remove(struct remove_options *opt, int argc, char **argv) krb5_warnx(context, "You must give at least one of " "principal, enctype or kvno."); - return 1; + ret = EINVAL; + goto out; } - if((keytab = ktutil_open_keytab()) == NULL) - return 1; + if((keytab = ktutil_open_keytab()) == NULL) { + ret = 1; + goto out; + } entry.principal = principal; entry.keyblock.keytype = enctype; @@ -82,6 +85,7 @@ kt_remove(struct remove_options *opt, int argc, char **argv) krb5_kt_close(context, keytab); if(ret) krb5_warn(context, ret, "remove"); + out: if(principal) krb5_free_principal(context, principal); return ret != 0;