From a8493a19a6bdf5ab3bda1488a2f20a6607e8ff8c Mon Sep 17 00:00:00 2001 From: Dmitriy Gerasimov <naeper@demlabs.net> Date: Tue, 27 Jul 2021 14:39:15 +0700 Subject: [PATCH] [*] Fixed notify code [*] Fixed some more memleaks --- CMakeLists.txt | 2 +- modules/net/dap_chain_node_cli_cmd.c | 4 ++-- modules/net/dap_chain_node_client.c | 24 +++++++++++++----------- modules/net/dap_chain_node_ping.c | 2 ++ 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a719384a3f..3f97d7cd72 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ project(cellframe-sdk C) cmake_minimum_required(VERSION 3.0) set(CMAKE_C_STANDARD 11) -set(CELLFRAME_SDK_NATIVE_VERSION "2.9-14") +set(CELLFRAME_SDK_NATIVE_VERSION "2.9-15") add_definitions ("-DCELLFRAME_SDK_VERSION=\"${CELLFRAME_SDK_NATIVE_VERSION}\"") set(DAPSDK_MODULES "") message("Cellframe modules: ${CELLFRAME_MODULES}") diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c index 54a107fe19..c9e24f8a80 100644 --- a/modules/net/dap_chain_node_cli_cmd.c +++ b/modules/net/dap_chain_node_cli_cmd.c @@ -2039,8 +2039,8 @@ int com_token_decl_sign(int argc, char ** argv, void *arg_func, char ** a_str_re } } else { dap_chain_node_cli_set_reply_text(a_str_reply, - "token_decl_sign can't find datum with %s hash in the mempool of %s:%s",l_datum_hash_out_str, l_net->pub.name, - l_chain->name); + "token_decl_sign can't find datum with %s hash in the mempool of %s:%s",l_datum_hash_out_str,l_net? l_net->pub.name: "<undefined>", + l_chain?l_chain->name:"<undefined>"); return -5; } DAP_DELETE(l_datum_hash_hex_str); diff --git a/modules/net/dap_chain_node_client.c b/modules/net/dap_chain_node_client.c index 093c84bc34..d1846fd8e6 100644 --- a/modules/net/dap_chain_node_client.c +++ b/modules/net/dap_chain_node_client.c @@ -472,17 +472,19 @@ static void s_ch_chain_callback_notify_packet_out(dap_stream_ch_chain_t* a_ch_ch (void) a_pkt_data_size; (void) a_ch_chain; dap_chain_node_client_t * l_node_client = (dap_chain_node_client_t *) a_arg; - - switch (a_pkt_type) { - case DAP_STREAM_CH_CHAIN_PKT_TYPE_SYNCED_GLOBAL_DB: { - if(s_stream_ch_chain_debug_more) - log_it(L_INFO,"Out: global database sent to uplink "NODE_ADDR_FP_STR, NODE_ADDR_FP_ARGS_S(l_node_client->remote_node_addr)); - } break; - case DAP_STREAM_CH_CHAIN_PKT_TYPE_SYNCED_CHAINS: { - if(s_stream_ch_chain_debug_more) - log_it(L_INFO,"Out: chain %x sent to uplink "NODE_ADDR_FP_STR, l_node_client->cur_chain->id, NODE_ADDR_FP_ARGS_S(l_node_client->remote_node_addr)); - }break; - default: { + assert(a_arg); + if(dap_stream_ch_check_uuid_unsafe(l_node_client->stream_worker, l_node_client->ch_chain, l_node_client->ch_chain_uuid)){ + switch (a_pkt_type) { + case DAP_STREAM_CH_CHAIN_PKT_TYPE_SYNCED_GLOBAL_DB: { + if(s_stream_ch_chain_debug_more) + log_it(L_INFO,"Out: global database sent to uplink "NODE_ADDR_FP_STR, NODE_ADDR_FP_ARGS_S(l_node_client->remote_node_addr)); + } break; + case DAP_STREAM_CH_CHAIN_PKT_TYPE_SYNCED_CHAINS: { + if(s_stream_ch_chain_debug_more) + log_it(L_INFO,"Out: chain %x sent to uplink "NODE_ADDR_FP_STR,l_node_client->cur_chain ? l_node_client->cur_chain->id.uint64 : 0, NODE_ADDR_FP_ARGS_S(l_node_client->remote_node_addr)); + }break; + default: { + } } } } diff --git a/modules/net/dap_chain_node_ping.c b/modules/net/dap_chain_node_ping.c index 93ea2bb5cf..b2986f7c22 100644 --- a/modules/net/dap_chain_node_ping.c +++ b/modules/net/dap_chain_node_ping.c @@ -118,6 +118,7 @@ static void* node_ping_proc(void *a_arg) SOCKET l_socket = socket( PF_INET, SOCK_STREAM, 0); if(l_socket == INVALID_SOCKET) { log_it(L_ERROR, "Can't create socket"); + DAP_DELETE(host4); return (void*) -1; } clock_gettime(CLOCK_MONOTONIC, &l_time_start); @@ -146,6 +147,7 @@ static void* node_ping_proc(void *a_arg) else { ; //log_it(L_INFO, "Can't connect to node for ping"); } + DAP_DELETE(host4); closesocket(l_socket); } return (void*) res; -- GitLab