diff options
Diffstat (limited to 'src/kadmin/cli/keytab.c')
-rw-r--r-- | src/kadmin/cli/keytab.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/kadmin/cli/keytab.c b/src/kadmin/cli/keytab.c index 26f340a..976c896 100644 --- a/src/kadmin/cli/keytab.c +++ b/src/kadmin/cli/keytab.c @@ -363,7 +363,7 @@ remove_principal(char *keytab_str, krb5_keytab keytab, { krb5_principal princ = NULL; krb5_keytab_entry entry; - krb5_kt_cursor cursor; + krb5_kt_cursor cursor = NULL; enum { UNDEF, SPEC, HIGH, ALL, OLD } mode; int code, did_something; krb5_kvno kvno; @@ -443,6 +443,7 @@ remove_principal(char *keytab_str, krb5_keytab keytab, _("while temporarily ending keytab scan")); goto cleanup; } + cursor = NULL; code = krb5_kt_remove_entry(context, keytab, &entry); if (code != 0) { com_err(whoami, code, _("while deleting entry from keytab")); @@ -471,6 +472,7 @@ remove_principal(char *keytab_str, krb5_keytab keytab, com_err(whoami, code, _("while ending keytab scan")); goto cleanup; } + cursor = NULL; /* * If !did_someting then mode must be OLD or we would have @@ -483,6 +485,8 @@ remove_principal(char *keytab_str, krb5_keytab keytab, } cleanup: + if (cursor != NULL) + (void)krb5_kt_end_seq_get(context, keytab, &cursor); krb5_free_principal(context, princ); } |