diff --git a/lib/krb5/keytab_file.c b/lib/krb5/keytab_file.c index 7960e5d22..36a3971e2 100644 --- a/lib/krb5/keytab_file.c +++ b/lib/krb5/keytab_file.c @@ -331,6 +331,14 @@ fkt_close(krb5_context context, krb5_keytab id) return 0; } +static krb5_error_code +fkt_destroy(krb5_context context, krb5_keytab id) +{ + struct fkt_data *d = id->data; + _krb5_erase_file(context, d->filename); + return 0; +} + static krb5_error_code fkt_get_name(krb5_context context, krb5_keytab id, @@ -744,7 +752,7 @@ const krb5_kt_ops krb5_fkt_ops = { fkt_resolve, fkt_get_name, fkt_close, - NULL, /* destroy */ + fkt_destroy, NULL, /* get */ fkt_start_seq_get, fkt_next_entry, @@ -758,7 +766,7 @@ const krb5_kt_ops krb5_wrfkt_ops = { fkt_resolve, fkt_get_name, fkt_close, - NULL, /* destroy */ + fkt_destroy, NULL, /* get */ fkt_start_seq_get, fkt_next_entry, @@ -772,7 +780,7 @@ const krb5_kt_ops krb5_javakt_ops = { fkt_resolve_java14, fkt_get_name, fkt_close, - NULL, /* destroy */ + fkt_destroy, NULL, /* get */ fkt_start_seq_get, fkt_next_entry,