diff --git a/lib/krb5/crypto.c b/lib/krb5/crypto.c index ff1e4663c..29fc8a8d8 100644 --- a/lib/krb5/crypto.c +++ b/lib/krb5/crypto.c @@ -132,9 +132,14 @@ _key_schedule(krb5_context context, struct _krb5_key_data *key) { krb5_error_code ret; - struct _krb5_encryption_type *et = _krb5_find_enctype(key->key->keytype); + struct _krb5_encryption_type *et; struct _krb5_key_type *kt; + if (key->schedule != NULL) + return 0; + + et = _krb5_find_enctype(key->key->keytype); + if (et == NULL) { return unsupported_enctype (context, key->key->keytype); @@ -144,8 +149,6 @@ _key_schedule(krb5_context context, if(kt->schedule == NULL) return 0; - if (key->schedule != NULL) - return 0; ALLOC(key->schedule, 1); if (key->schedule == NULL) return krb5_enomem(context);