kdc: fix warning in GSS pre-authentication support

Do not read an int32_t directly into a CKSUMTYPE enum.
This commit is contained in:
Luke Howard
2022-01-29 10:23:09 +11:00
parent a835b9053d
commit 5a579901fd

View File

@@ -134,6 +134,7 @@ pa_gss_decode_context_state(astgs_request_t r,
krb5_storage *sp;
size_t cksumsize;
krb5_data data;
int32_t cksumtype;
memset(req_body_checksum, 0, sizeof(*req_body_checksum));
sec_context_token->length = 0;
@@ -154,10 +155,12 @@ pa_gss_decode_context_state(astgs_request_t r,
if (ret)
goto out;
ret = krb5_ret_int32(sp, &req_body_checksum->cksumtype);
ret = krb5_ret_int32(sp, &cksumtype);
if (ret)
goto out;
req_body_checksum->cksumtype = (CKSUMTYPE)cksumtype;
if (req_body_checksum->cksumtype == CKSUMTYPE_NONE ||
krb5_checksum_is_keyed(r->context, req_body_checksum->cksumtype)) {
ret = KRB5KDC_ERR_SUMTYPE_NOSUPP;
@@ -273,7 +276,7 @@ pa_gss_encode_context_state(astgs_request_t r,
if (ret)
goto out;
ret = krb5_store_int32(sp, req_body_checksum->cksumtype);
ret = krb5_store_int32(sp, (int32_t)req_body_checksum->cksumtype);
if (ret)
goto out;