diff options
author | Greg Hudson <ghudson@mit.edu> | 2009-11-26 23:23:11 +0000 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2009-11-26 23:23:11 +0000 |
commit | 1df0550c374c42b6493dc2f0e563a09c03b66968 (patch) | |
tree | 6da2d9c5057b9ce2644196327d5c673b4aa96baf /src/lib | |
parent | ad2adb977e00181627be7c9a4980b4015fd58fa6 (diff) | |
download | krb5-1df0550c374c42b6493dc2f0e563a09c03b66968.zip krb5-1df0550c374c42b6493dc2f0e563a09c03b66968.tar.gz krb5-1df0550c374c42b6493dc2f0e563a09c03b66968.tar.bz2 |
Clean up a few cases where krb5_get_in_tkt_with_keytab would leak the
options structure.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@23363 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/krb5/krb/gic_keytab.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/krb5/krb/gic_keytab.c b/src/lib/krb5/krb/gic_keytab.c index 4bdf9ee..c4c6d32 100644 --- a/src/lib/krb5/krb/gic_keytab.c +++ b/src/lib/krb5/krb/gic_keytab.c @@ -186,7 +186,7 @@ krb5_get_in_tkt_with_keytab(krb5_context context, krb5_flags options, if (arg_keytab == NULL) { retval = krb5_kt_default(context, &keytab); if (retval) - return retval; + goto cleanup; } else keytab = arg_keytab; @@ -201,7 +201,6 @@ krb5_get_in_tkt_with_keytab(krb5_context context, krb5_flags options, get_as_key_keytab, (void *)keytab, &use_master, ret_as_reply); krb5_free_unparsed_name( context, server); - krb5_get_init_creds_opt_free(context, opts); if (retval) { goto cleanup; } @@ -214,7 +213,9 @@ krb5_get_in_tkt_with_keytab(krb5_context context, krb5_flags options, if (ccache) if ((retval = krb5_cc_store_cred(context, ccache, creds))) goto cleanup; -cleanup: if (arg_keytab == NULL) +cleanup: + krb5_get_init_creds_opt_free(context, opts); + if (arg_keytab == NULL) krb5_kt_close(context, keytab); return retval; } |