summaryrefslogtreecommitdiffstats
path: root/src/lib/kdb
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/kdb')
-rw-r--r--src/lib/kdb/verify_mky.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/kdb/verify_mky.c b/src/lib/kdb/verify_mky.c
index 616b740a8..dd26b96c5 100644
--- a/src/lib/kdb/verify_mky.c
+++ b/src/lib/kdb/verify_mky.c
@@ -54,10 +54,12 @@ krb5_encrypt_block *eblock;
/* do any necessary key pre-processing */
if (retval = krb5_process_key(eblock, mkey)) {
+ krb5_db_free_principal(&master_entry, nprinc);
return(retval);
}
if (retval = krb5_kdb_decrypt_key(eblock, &master_entry.key, &tempkey)) {
(void) krb5_finish_key(eblock);
+ krb5_db_free_principal(&master_entry, nprinc);
return retval;
}
if (memcmp((char *)mkey->contents, (char *)tempkey.contents,
@@ -66,6 +68,8 @@ krb5_encrypt_block *eblock;
(void) krb5_finish_key(eblock);
} else
retval = krb5_finish_key(eblock);
+
+ krb5_db_free_principal(&master_entry, nprinc);
return retval;
}