Fix a couple of bugs in krb5_c_valid_enctype():
1. on errors, it appears to core dump, and 2. the sense of the return code is inverted from the MIT implementation. Signed-off-by: Love Hörnquist Åstrand <lha@h5l.org>
This commit is contained in:

committed by
Love Hörnquist Åstrand

parent
7aaba443bc
commit
3ef06de67b
@@ -698,19 +698,21 @@ krb5_enctype_valid(krb5_context context,
|
|||||||
krb5_enctype etype)
|
krb5_enctype etype)
|
||||||
{
|
{
|
||||||
struct _krb5_encryption_type *e = _krb5_find_enctype(etype);
|
struct _krb5_encryption_type *e = _krb5_find_enctype(etype);
|
||||||
|
if(e != NULL && !(e->flags & F_DISABLED))
|
||||||
|
return 0;
|
||||||
|
if (!context)
|
||||||
|
return KRB5_PROG_ETYPE_NOSUPP;
|
||||||
if(e == NULL) {
|
if(e == NULL) {
|
||||||
krb5_set_error_message (context, KRB5_PROG_ETYPE_NOSUPP,
|
krb5_set_error_message (context, KRB5_PROG_ETYPE_NOSUPP,
|
||||||
N_("encryption type %d not supported", ""),
|
N_("encryption type %d not supported", ""),
|
||||||
etype);
|
etype);
|
||||||
return KRB5_PROG_ETYPE_NOSUPP;
|
return KRB5_PROG_ETYPE_NOSUPP;
|
||||||
}
|
}
|
||||||
if (e->flags & F_DISABLED) {
|
/* Must be (e->flags & F_DISABLED) */
|
||||||
krb5_set_error_message (context, KRB5_PROG_ETYPE_NOSUPP,
|
krb5_set_error_message (context, KRB5_PROG_ETYPE_NOSUPP,
|
||||||
N_("encryption type %s is disabled", ""),
|
N_("encryption type %s is disabled", ""),
|
||||||
e->name);
|
e->name);
|
||||||
return KRB5_PROG_ETYPE_NOSUPP;
|
return KRB5_PROG_ETYPE_NOSUPP;
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -139,7 +139,7 @@ krb5_checksum_free(krb5_context context, krb5_checksum *cksum)
|
|||||||
KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL
|
KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL
|
||||||
krb5_c_valid_enctype (krb5_enctype etype)
|
krb5_c_valid_enctype (krb5_enctype etype)
|
||||||
{
|
{
|
||||||
return krb5_enctype_valid(NULL, etype);
|
return !krb5_enctype_valid(NULL, etype);
|
||||||
}
|
}
|
||||||
|
|
||||||
KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL
|
KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL
|
||||||
|
Reference in New Issue
Block a user