diff options
-rw-r--r-- | asn1.c | 2 | ||||
-rw-r--r-- | ecdsa.c | 2 |
2 files changed, 3 insertions, 1 deletions
@@ -85,6 +85,8 @@ hal_error_t hal_asn1_encode_header(const uint8_t tag, if (value_len + header_len > der_max) return HAL_ERROR_RESULT_TOO_LONG; + *der++ = tag; + if (value_len < 128) { *der = (uint8_t) value_len; } @@ -1153,7 +1153,7 @@ hal_error_t hal_ecdsa_sign(const hal_ecdsa_key_t * const key, uint8_t * const r_out = signature + *signature_len; uint8_t * const s_out = r_out + r_len; - signature_len += r_len + s_len; + *signature_len += r_len + s_len; assert(*signature_len <= signature_max); if ((err = hal_asn1_encode_integer(r, r_out, NULL, signature_max - (r_out - signature))) != HAL_OK || |