diff --git a/src/near_core/enc/asl1_core_codec.c b/src/near_core/enc/asl1_core_codec.c index 8aac83a..0c892ee 100644 --- a/src/near_core/enc/asl1_core_codec.c +++ b/src/near_core/enc/asl1_core_codec.c @@ -192,6 +192,9 @@ bool amduat_enc_asl1_core_encode_reference_v1( if (reference.digest.len != 0 && reference.digest.data == NULL) { return false; } + if (reference.hash_id == 0u) { + return false; + } digest_len = reference.digest.len; 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); + if (hash_id == 0u) { + return false; + } digest_len = bytes.len - AMDUAT_ENC_ASL1_CORE_REF_HASH_LEN; hash_desc = amduat_hash_asl1_desc_lookup(hash_id); if (hash_desc != NULL && hash_desc->digest_len != 0 &&