diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c index e8b1aa3c31b465ea5b2720b75d735ca27e84e088..b632f9b9ad9067d09a65f122d1c9df5605217a3e 100644 --- a/modules/net/dap_chain_node_cli_cmd.c +++ b/modules/net/dap_chain_node_cli_cmd.c @@ -2621,9 +2621,15 @@ int com_token_decl_sign(int a_argc, char **a_argv, void **a_str_reply) size_t l_data_size = l_tsd_size + l_signs_size; l_datum_token = s_sign_cert_in_cycle(l_certs, l_datum_token, l_certs_count, &l_data_size, &l_sign_counter); + log_it(L_DEBUG, "Apply %zu signs to datum %s", l_sign_counter, l_datum_hash_hex_str); + if (!l_sign_counter) { + dap_cli_server_cmd_set_reply_text(a_str_reply, "Error! Used certs not valid"); + DAP_DEL_MULTY(l_datum_token, l_datum_hash_hex_str, l_datum_hash_base58_str, l_gdb_group_mempool); + return -9; + } l_datum_token->signs_total += l_sign_counter; size_t l_token_size = sizeof(*l_datum_token) + l_data_size; - dap_chain_datum_t * l_datum = dap_chain_datum_create(DAP_CHAIN_DATUM_TOKEN, + l_datum = dap_chain_datum_create(DAP_CHAIN_DATUM_TOKEN, l_datum_token, l_token_size); DAP_DELETE(l_datum_token); // Calc datum's hash @@ -2640,8 +2646,8 @@ int com_token_decl_sign(int a_argc, char **a_argv, void **a_str_reply) char* l_hash_str = l_datum_hash_hex_str; // Remove old datum from pool if( dap_global_db_del_sync(l_gdb_group_mempool, l_hash_str ) == 0) { - dap_cli_server_cmd_set_reply_text(a_str_reply, "Datum %s is replacing the %s in datum pool", - l_key_out_str, l_datum_hash_out_str); + dap_cli_server_cmd_set_reply_text(a_str_reply, "Datum was replaced in datum pool:\n\tOld: %s\n\tNew: %s", + l_datum_hash_out_str, l_key_out_str); } else { dap_cli_server_cmd_set_reply_text(a_str_reply, "Warning! Can't remove old datum %s ( new datum %s added normaly in datum pool)", @@ -2654,11 +2660,7 @@ int com_token_decl_sign(int a_argc, char **a_argv, void **a_str_reply) l_key_out_str, l_datum_hash_out_str); rc = -2; } - DAP_DELETE(l_key_str); - DAP_DELETE(l_datum_hash_hex_str); - DAP_DELETE(l_datum_hash_base58_str); - DAP_DELETE(l_datum); - DAP_DELETE(l_gdb_group_mempool); + DAP_DEL_MULTY(l_key_str, l_datum_hash_hex_str, l_datum_hash_base58_str, l_datum, l_gdb_group_mempool); return rc; } else { dap_cli_server_cmd_set_reply_text(a_str_reply, @@ -2671,8 +2673,7 @@ int com_token_decl_sign(int a_argc, char **a_argv, void **a_str_reply) l_chain?l_chain->name:"<undefined>"); return -5; } - DAP_DELETE(l_datum_hash_hex_str); - DAP_DELETE(l_datum_hash_base58_str); + DAP_DEL_MULTY(l_datum_hash_hex_str, l_datum_hash_base58_str); } else { dap_cli_server_cmd_set_reply_text(a_str_reply, "token_decl_sign need -datum <datum hash> argument"); return -2;