diff --git a/lib/krb5/crypto.c b/lib/krb5/crypto.c index 849ff4f37..888e03bac 100644 --- a/lib/krb5/crypto.c +++ b/lib/krb5/crypto.c @@ -3680,10 +3680,10 @@ static void free_key_data(krb5_context context, struct key_data *key, struct encryption_type *et) { - if (et->keytype->cleanup) - (*et->keytype->cleanup)(context, key); krb5_free_keyblock(context, key->key); if(key->schedule) { + if (et->keytype->cleanup) + (*et->keytype->cleanup)(context, key); memset(key->schedule->data, 0, key->schedule->length); krb5_free_data(context, key->schedule); }