diff --git a/modules/common/dap_chain_datum_token.c b/modules/common/dap_chain_datum_token.c index 8ec5775a36427002c70546ae00496239a9140e65..3d11dfe3eb242d4d596c963b2d73fba75e9172d5 100644 --- a/modules/common/dap_chain_datum_token.c +++ b/modules/common/dap_chain_datum_token.c @@ -218,7 +218,7 @@ void dap_chain_datum_token_certs_dump(dap_string_t * a_str_out, byte_t * a_data_ l_offset += dap_sign_get_size(l_sign); if (l_sign->header.sign_size == 0) { dap_string_append_printf(a_str_out, "<CORRUPTED - 0 size signature>\n"); - continue; + break; } if (l_sign->header.sign_size > a_certs_size) @@ -441,9 +441,9 @@ dap_chain_datum_token_emission_t *dap_chain_datum_emission_add_sign(dap_enc_key_ if (!l_new_sign) return NULL; size_t l_emission_size = dap_chain_datum_emission_get_size((uint8_t *)a_emission); - dap_chain_datum_token_emission_t *l_ret = DAP_REALLOC(a_emission, l_emission_size + l_old_signs_size + dap_sign_get_size(l_new_sign)); size_t l_sign_size = dap_sign_get_size(l_new_sign); - memcpy(l_ret->tsd_n_signs + (size_t)l_ret->data.type_auth.tsd_total_size, l_new_sign, l_sign_size); + dap_chain_datum_token_emission_t *l_ret = DAP_REALLOC(a_emission, l_emission_size + l_old_signs_size + l_sign_size); + memcpy(l_ret->tsd_n_signs + l_old_signs_size, l_new_sign, l_sign_size); DAP_DELETE(l_new_sign); l_old_signs_size += l_sign_size; l_signs_count++;