diff --git a/kuser/kdestroy.c b/kuser/kdestroy.c index ca3d30cf2..1ba3a1078 100644 --- a/kuser/kdestroy.c +++ b/kuser/kdestroy.c @@ -122,6 +122,7 @@ main (int argc, char **argv) krb5_err(context, 1, ret, "Failed to remove principal %s", credential); + krb5_free_principal(context, mcred.server); krb5_free_context(context); return 0; } diff --git a/kuser/kgetcred.c b/kuser/kgetcred.c index ce6a9b34c..80d2b297f 100644 --- a/kuser/kgetcred.c +++ b/kuser/kgetcred.c @@ -207,7 +207,9 @@ main(int argc, char **argv) } krb5_free_creds(context, out); + krb5_free_principal(context, server); krb5_get_creds_opt_free(context, opt); + krb5_cc_close (context, cache); return 0; } diff --git a/kuser/kinit.c b/kuser/kinit.c index 1894d3128..90194bff1 100644 --- a/kuser/kinit.c +++ b/kuser/kinit.c @@ -468,6 +468,7 @@ get_new_tickets(krb5_context context, krb5_deltat start_time = 0; krb5_deltat renew = 0; char *renewstr = NULL; + krb5_enctype *enctype = NULL; passwd[0] = '\0'; @@ -552,8 +553,8 @@ get_new_tickets(krb5_context context, } if(etype_str.num_strings) { - krb5_enctype *enctype = NULL; int i; + enctype = malloc(etype_str.num_strings * sizeof(*enctype)); if(enctype == NULL) errx(1, "out of memory"); @@ -682,6 +683,9 @@ get_new_tickets(krb5_context context, krb5_free_cred_contents (context, &cred); + if (enctype) + free(enctype); + return 0; }