Added the explicit hash_id == 0 guard in the codec. This rejects reserved 0x0000 in both encode and decode paths
This commit is contained in:
parent
ab36856833
commit
88cde5c243
|
|
@ -192,6 +192,9 @@ bool amduat_enc_asl1_core_encode_reference_v1(
|
||||||
if (reference.digest.len != 0 && reference.digest.data == NULL) {
|
if (reference.digest.len != 0 && reference.digest.data == NULL) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (reference.hash_id == 0u) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
digest_len = reference.digest.len;
|
digest_len = reference.digest.len;
|
||||||
hash_desc = amduat_hash_asl1_desc_lookup(reference.hash_id);
|
hash_desc = amduat_hash_asl1_desc_lookup(reference.hash_id);
|
||||||
|
|
@ -238,6 +241,9 @@ bool amduat_enc_asl1_core_decode_reference_v1(
|
||||||
}
|
}
|
||||||
|
|
||||||
hash_id = (amduat_hash_id_t)amduat_enc_asl1_core_load_u16_be(bytes.data);
|
hash_id = (amduat_hash_id_t)amduat_enc_asl1_core_load_u16_be(bytes.data);
|
||||||
|
if (hash_id == 0u) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
digest_len = bytes.len - AMDUAT_ENC_ASL1_CORE_REF_HASH_LEN;
|
digest_len = bytes.len - AMDUAT_ENC_ASL1_CORE_REF_HASH_LEN;
|
||||||
hash_desc = amduat_hash_asl1_desc_lookup(hash_id);
|
hash_desc = amduat_hash_asl1_desc_lookup(hash_id);
|
||||||
if (hash_desc != NULL && hash_desc->digest_len != 0 &&
|
if (hash_desc != NULL && hash_desc->digest_len != 0 &&
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue