diff --git a/modules/net/dap_chain_net_tx.c b/modules/net/dap_chain_net_tx.c index 862da6ab3fab776d93203bdd25c258465e35b3db..33032a2b09806a5f44b2ca43cb195fc768a4d20e 100644 --- a/modules/net/dap_chain_net_tx.c +++ b/modules/net/dap_chain_net_tx.c @@ -440,10 +440,11 @@ static void s_tx_cond_all_by_srv_uid_callback(UNUSED_ARG dap_chain_net_t* a_net, dap_chain_datum_tx_cond_list_item_t *l_item = (dap_chain_datum_tx_cond_list_item_t*) DAP_NEW_Z(dap_chain_datum_tx_cond_list_item_t); TX_ITEM_ITER_TX(item, l_size, a_tx) { if ( *item == TX_ITEM_TYPE_OUT_COND && - l_ret->srv_uid.uint64 == ((dap_chain_tx_out_cond_t*)item)->header.srv_uid.uint64 ) + l_ret->srv_uid.uint64 == ((dap_chain_tx_out_cond_t*)item)->header.srv_uid.uint64 ) { l_item->hash = *a_tx_hash; l_item->tx = a_tx; l_ret->ret = dap_list_append(l_ret->ret, l_item); + } } } diff --git a/modules/node-cli/dap_chain_node_cli_cmd.c b/modules/node-cli/dap_chain_node_cli_cmd.c index 325805833d84f7e18428591c98b1441a51a4cb36..9eff4ecf257a9f2cb59a9a57d1e35c922a10d19b 100644 --- a/modules/node-cli/dap_chain_node_cli_cmd.c +++ b/modules/node-cli/dap_chain_node_cli_cmd.c @@ -2002,10 +2002,10 @@ int l_arg_index = 1, l_rc, cmd_num = CMD_NONE; json_object_object_add(json_obj_wall, "Sign type", json_object_new_string(l_sign_type_str)); json_object_object_add(json_obj_wall, "Status", json_object_new_string("successfully created")); - const char *l_addr_str = NULL; - if ( l_net && (l_addr_str = dap_chain_addr_to_str_static(dap_chain_wallet_get_addr(l_wallet,l_net->pub.id))) ) { - json_object_object_add(json_obj_wall, "new address", json_object_new_string(l_addr_str) ); - } + dap_chain_addr_t *l_addr = dap_chain_wallet_get_addr(l_wallet, l_net->pub.id); + if (l_net && l_addr) + json_object_object_add(json_obj_wall, "new address", json_object_new_string(dap_chain_addr_to_str_static(l_addr))); + DAP_DEL_Z(l_addr); json_object_array_add(json_arr_out, json_obj_wall); dap_chain_wallet_close(l_wallet); break; diff --git a/modules/node-cli/dap_chain_node_cli_cmd_tx.c b/modules/node-cli/dap_chain_node_cli_cmd_tx.c index d623f9381f7c041fae32b4a0a284ff4d554fcdd9..ada67814797e1b67f312dea373423ec8197decdc 100644 --- a/modules/node-cli/dap_chain_node_cli_cmd_tx.c +++ b/modules/node-cli/dap_chain_node_cli_cmd_tx.c @@ -262,10 +262,10 @@ static void s_tx_header_print(json_object* json_obj_datum, dap_chain_tx_hash_pro char *l_tx_hash_str, *l_atom_hash_str; if (!dap_strcmp(a_hash_out_type, "hex")) { l_tx_hash_str = dap_chain_hash_fast_to_str_new(a_tx_hash); - l_atom_hash_str = dap_chain_hash_fast_to_str_new(&a_atom_hash); + l_atom_hash_str = dap_chain_hash_fast_to_str_new(a_atom_hash); } else { l_tx_hash_str = dap_enc_base58_encode_hash_to_str(a_tx_hash); - l_atom_hash_str = dap_enc_base58_encode_hash_to_str(&a_atom_hash); + l_atom_hash_str = dap_enc_base58_encode_hash_to_str(a_atom_hash); } json_object_object_add(json_obj_datum, "status", json_object_new_string(l_declined ? "DECLINED" : "ACCEPTED")); json_object_object_add(json_obj_datum, "hash", json_object_new_string(l_tx_hash_str)); @@ -2629,9 +2629,9 @@ int com_tx_create(int a_argc, char **a_argv, void **a_json_arr_reply) json_object_object_add(l_jobj_result, "warning", l_obj_wgn_str); } } - const dap_chain_addr_t *l_addr_from = (const dap_chain_addr_t *) dap_chain_wallet_get_addr(l_wallet, l_net->pub.id); + dap_chain_addr_t *l_addr_from = dap_chain_wallet_get_addr(l_wallet, l_net->pub.id); - if(!l_addr_from) { + if (!l_addr_from) { dap_chain_wallet_close(l_wallet); dap_enc_key_delete(l_priv_key); dap_json_rpc_error_add(*a_json_arr_reply, DAP_CHAIN_NODE_CLI_COM_TX_CREATE_SOURCE_ADDRESS_INVALID, "source address is invalid"); @@ -2718,7 +2718,7 @@ int com_tx_create(int a_argc, char **a_argv, void **a_json_arr_reply) for (size_t i = 0; i < l_addr_el_count; ++i) { DAP_DELETE(l_addr_to[i]); } - DAP_DEL_MULTY(l_addr_to, l_value); + DAP_DEL_MULTY(l_addr_from, l_addr_to, l_value); dap_chain_wallet_close(l_wallet); dap_enc_key_delete(l_priv_key); return l_ret; diff --git a/modules/wallet/dap_chain_wallet.c b/modules/wallet/dap_chain_wallet.c index 84652e15a58464f5c72c3eafdf5ee874595175f1..8717e40b56bab99539b55c18aa9568c8aa4536c7 100644 --- a/modules/wallet/dap_chain_wallet.c +++ b/modules/wallet/dap_chain_wallet.c @@ -1083,7 +1083,9 @@ uint256_t dap_chain_wallet_get_balance ( dap_chain_net_t *l_net = dap_chain_net_by_id(a_net_id); dap_chain_addr_t *l_addr = dap_chain_wallet_get_addr(a_wallet, a_net_id); - return (l_net) ? dap_ledger_calc_balance(l_net->pub.ledger, l_addr, a_token_ticker) : uint256_0; + uint256_t ret = (l_net) ? dap_ledger_calc_balance(l_net->pub.ledger, l_addr, a_token_ticker) : uint256_0; + DAP_DEL_Z(l_addr); + return ret; } /** @@ -1269,7 +1271,7 @@ json_object *dap_chain_wallet_info_to_json(const char *a_name, const char *a_pat DAP_DELETE(l_addr_tokens[i]); } json_object_object_add(l_jobj_net, "balance", l_arr_balance); - DAP_DELETE(l_addr_tokens); + DAP_DEL_MULTY(l_addr_tokens, l_wallet_addr_in_net); } json_object_object_add(l_json_ret, "networks", l_jobj_network); dap_chain_wallet_close(l_wallet); diff --git a/modules/wallet/dap_chain_wallet_cache.c b/modules/wallet/dap_chain_wallet_cache.c index 29c03fb88bd89aeb913d0afe363fb3ecec42636c..1f72a4d931de18804067de3bcab8de8179101717 100644 --- a/modules/wallet/dap_chain_wallet_cache.c +++ b/modules/wallet/dap_chain_wallet_cache.c @@ -685,12 +685,13 @@ static void s_wallet_opened_callback(dap_chain_wallet_t *a_wallet, void *a_arg) HASH_FIND(hh, s_wallets_cache, l_addr, sizeof(dap_chain_addr_t), l_wallet_item); if (!l_wallet_item){ l_wallet_item = DAP_NEW_Z(dap_wallet_cache_t); - memcpy (&l_wallet_item->wallet_addr, &l_addr, sizeof(dap_chain_addr_t)); + memcpy(&l_wallet_item->wallet_addr, l_addr, sizeof(dap_chain_addr_t)); HASH_ADD(hh, s_wallets_cache, wallet_addr, sizeof(dap_chain_addr_t), l_wallet_item); pthread_rwlock_unlock(&s_wallet_cache_rwlock); s_save_cache_for_addr_in_net(l_net, l_addr); } else pthread_rwlock_unlock(&s_wallet_cache_rwlock); + DAP_DEL_Z(l_addr); } }