diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/krb5/krb/decode_kdc.c | 4 | ||||
-rw-r--r-- | src/lib/krb5/krb/decrypt_tk.c | 4 | ||||
-rw-r--r-- | src/lib/krb5/krb/encode_kdc.c | 4 | ||||
-rw-r--r-- | src/lib/krb5/krb/encrypt_tk.c | 4 |
4 files changed, 7 insertions, 9 deletions
diff --git a/src/lib/krb5/krb/decode_kdc.c b/src/lib/krb5/krb/decode_kdc.c index b9fedde4c5..7a7aaad238 100644 --- a/src/lib/krb5/krb/decode_kdc.c +++ b/src/lib/krb5/krb/decode_kdc.c @@ -79,9 +79,7 @@ krb5_kdc_rep **dec_rep; return(ENOMEM); } - if (local_dec_rep->etype > max_cryptosystem || - local_dec_rep->etype < 0 || - !csarray[local_dec_rep->etype]) + if (!valid_etype(local_dec_rep->etype)) return KRB5KDC_ERR_ETYPE_NOSUPP; /* put together an eblock for this encryption */ diff --git a/src/lib/krb5/krb/decrypt_tk.c b/src/lib/krb5/krb/decrypt_tk.c index aae30a0959..1801c552bf 100644 --- a/src/lib/krb5/krb/decrypt_tk.c +++ b/src/lib/krb5/krb/decrypt_tk.c @@ -49,9 +49,7 @@ register krb5_ticket *ticket; krb5_data scratch; krb5_error_code retval; - if (ticket->etype > max_cryptosystem || - ticket->etype < 0 || - !csarray[ticket->etype]) + if (!valid_etype(ticket->etype)) return KRB5KDC_ERR_ETYPE_NOSUPP; /* put together an eblock for this encryption */ diff --git a/src/lib/krb5/krb/encode_kdc.c b/src/lib/krb5/krb/encode_kdc.c index b9e5b758d2..62546db209 100644 --- a/src/lib/krb5/krb/encode_kdc.c +++ b/src/lib/krb5/krb/encode_kdc.c @@ -26,6 +26,7 @@ static char rcsid_encode_kdc_c [] = /* array of pointers into encryption systems */ extern krb5_cs_table_entry *csarray[]; +extern int max_cryptosystem; /* max entry in array */ /* Takes KDC rep parts in *rep and *encpart, and formats it into *enc_rep, @@ -51,6 +52,9 @@ krb5_data **enc_rep; krb5_encrypt_block eblock; krb5_error_code retval; + if (!valid_etype(dec_rep->etype)) + return KRB5KDC_ERR_ETYPE_NOSUPP; + switch (type) { case KRB5_AS_REP: case KRB5_TGS_REP: diff --git a/src/lib/krb5/krb/encrypt_tk.c b/src/lib/krb5/krb/encrypt_tk.c index faf3937140..a2b141ccb7 100644 --- a/src/lib/krb5/krb/encrypt_tk.c +++ b/src/lib/krb5/krb/encrypt_tk.c @@ -51,9 +51,7 @@ register krb5_ticket *dec_ticket; /* encrypt the encrypted part */ - if (dec_ticket->etype > max_cryptosystem || - dec_ticket->etype < 0 || - !csarray[dec_ticket->etype]) + if (!valid_etype(dec_ticket->etype)) return KRB5KDC_ERR_ETYPE_NOSUPP; /* start by encoding the to-be-encrypted part. */ |