From cc5e794af613897f99deb1bd965863e9e3a859db Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Sun, 13 Jul 1997 01:07:57 +0000 Subject: [PATCH] Don't leak memory. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2227 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kuser/kinit.c | 16 ++++++++++------ kuser/klist.c | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/kuser/kinit.c b/kuser/kinit.c index bc4064f50..0e8b51dae 100644 --- a/kuser/kinit.c +++ b/kuser/kinit.c @@ -83,11 +83,8 @@ main (int argc, char **argv) errx (1, "krb5_cc_initialize: %s", krb5_get_err_text(context, err)); - cred.client = principal; - cred.times.endtime = 0; - err = krb5_build_principal_ext (context, - &cred.server, + &server, #ifdef USE_ASN1_PRINCIPAL strlen(principal->realm), principal->realm, @@ -110,11 +107,15 @@ main (int argc, char **argv) krb5_get_err_text(context, err)); #ifdef USE_ASN1_PRINCIPAL - cred.server->name.name_type = KRB5_NT_SRV_INST; + server->name.name_type = KRB5_NT_SRV_INST; #else - cred.server->type = KRB5_NT_SRV_INST; + server->type = KRB5_NT_SRV_INST; #endif + cred.client = principal; + cred.server = server; + cred.times.endtime = 0; + err = krb5_get_in_tkt_with_password (context, options.i, NULL, @@ -128,6 +129,9 @@ main (int argc, char **argv) errx (1, "krb5_get_in_tkt_with_password: %s", krb5_get_err_text(context, err)); + krb5_free_principal (context, principal); + krb5_free_principal (context, server); + krb5_free_ccache (context, ccache); krb5_free_context (context); return 0; } diff --git a/kuser/klist.c b/kuser/klist.c index f0ce53ce1..bbc15246c 100644 --- a/kuser/klist.c +++ b/kuser/klist.c @@ -159,6 +159,7 @@ main (int argc, char **argv) }else{ print_cred(context, &creds); } + krb5_free_creds (context, &creds); } ret = krb5_cc_end_seq_get (context, ccache, &cursor); if (ret) @@ -169,7 +170,6 @@ main (int argc, char **argv) errx (1, "krb5_cc_close: %s", krb5_get_err_text(context,ret)); krb5_free_principal (context, principal); - krb5_free_context (context); return 0; }