diff --git a/modules/consensus/esbocs/dap_chain_cs_esbocs.c b/modules/consensus/esbocs/dap_chain_cs_esbocs.c index ef958f750659bdcd7297e82aba4814e9cb462b75..f51e64e78b0362a3e51a73a9400ae882b0d1e3da 100644 --- a/modules/consensus/esbocs/dap_chain_cs_esbocs.c +++ b/modules/consensus/esbocs/dap_chain_cs_esbocs.c @@ -2761,6 +2761,9 @@ static uint64_t s_get_precached_key_hash(dap_list_t **a_precached_keys_list, dap } } if (l_found) { + if (a_result) + *a_result = l_key->pkey_hash; + uint64_t l_freq = l_key->frequency; while (l_cur != *a_precached_keys_list) { struct precached_key* l_prev_key = (struct precached_key*)l_cur->prev->data; if (l_key->frequency > l_prev_key->frequency) { @@ -2771,9 +2774,7 @@ static uint64_t s_get_precached_key_hash(dap_list_t **a_precached_keys_list, dap } else break; } - if (a_result) - *a_result = l_key->pkey_hash; - return l_key->frequency; + return l_freq; } struct precached_key *l_key_new = DAP_NEW_Z_SIZE(struct precached_key, sizeof(struct precached_key) + a_source_sign->header.sign_pkey_size); diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c index 79bac37b2c95f5d3a87180233061fb402ca4da8f..e2939a9da6748b2a7850856c8defa46455b8dd01 100644 --- a/modules/net/dap_chain_net.c +++ b/modules/net/dap_chain_net.c @@ -553,8 +553,8 @@ int s_link_manager_fill_net_info(dap_link_t *a_link) break; } } + dap_chain_node_info_t *l_node_info = NULL; if (!l_host || !l_host[0] || !l_port) { - dap_chain_node_info_t *l_node_info = NULL; for (dap_chain_net_t *net = s_nets_by_name; net; net = net->hh.next) { if (( l_node_info = dap_chain_node_info_read(net, &a_link->addr) )) break; @@ -563,10 +563,9 @@ int s_link_manager_fill_net_info(dap_link_t *a_link) return -3; l_host = l_node_info->ext_host; l_port = l_node_info->ext_port; - DAP_DELETE(l_node_info); } a_link->uplink.ready = !dap_link_manager_link_update(&a_link->addr, l_host, l_port); - return 0; + return DAP_DELETE(l_node_info), 0; } json_object *s_net_sync_status(dap_chain_net_t *a_net)