From 075dfe033d68d7bed2ecb82f4bb31dbd3b2befe5 Mon Sep 17 00:00:00 2001
From: Pavel Uhanov <pavel.uhanov@demlabs.net>
Date: Tue, 18 Jul 2023 12:45:25 +0700
Subject: [PATCH] [*] change dynamic mamory allocation to static in
 dap_chain_net_init

---
 modules/chain/dap_chain_cs.c                  |  3 +--
 .../chain-net/dap_stream_ch_chain_net.c       |  8 +++-----
 .../chain-voting/dap_stream_ch_chain_voting.c |  3 +--
 .../block-poa/dap_chain_cs_block_poa.c        |  6 ++----
 .../include/dap_chain_cs_block_poa.h          |  3 +--
 .../consensus/dag-poa/dap_chain_cs_dag_poa.c  |  3 +--
 .../dag-poa/include/dap_chain_cs_dag_poa.h    |  2 +-
 .../consensus/dag-pos/dap_chain_cs_dag_pos.c  |  3 +--
 .../consensus/esbocs/dap_chain_cs_esbocs.c    |  3 +--
 modules/net/dap_chain_net.c                   | 19 ++++++++-----------
 modules/net/dap_chain_node_client.c           |  5 ++---
 modules/net/include/dap_chain_node_client.h   |  2 +-
 .../dap_chain_net_srv_stake_pos_delegate.c    |  5 +----
 modules/type/blocks/dap_chain_block_cache.c   |  3 +--
 modules/type/blocks/dap_chain_cs_blocks.c     |  8 +++-----
 modules/type/dag/dap_chain_cs_dag.c           |  5 ++---
 modules/type/dag/include/dap_chain_cs_dag.h   |  2 +-
 17 files changed, 31 insertions(+), 52 deletions(-)

diff --git a/modules/chain/dap_chain_cs.c b/modules/chain/dap_chain_cs.c
index 352092a672..233de6f687 100644
--- a/modules/chain/dap_chain_cs.c
+++ b/modules/chain/dap_chain_cs.c
@@ -102,8 +102,7 @@ int dap_chain_cs_type_create(dap_chain_t * a_chain, dap_config_t * a_chain_cfg)
  * @param a_cs_str
  * @param a_callback_init
  */
-void dap_chain_cs_add (const char * a_cs_str,  dap_chain_callback_new_cfg_t a_callback_init)
-{
+void dap_chain_cs_add (const char * a_cs_str,  dap_chain_callback_new_cfg_t a_callback_init) {
     dap_chain_callback_new_cfg_item_t *l_item = DAP_NEW_Z ( dap_chain_callback_new_cfg_item_t );
     if ( !l_item ) {
         log_it(L_ERROR, "Memory allocation error in dap_chain_cs_add, errno=%d", errno);
diff --git a/modules/channel/chain-net/dap_stream_ch_chain_net.c b/modules/channel/chain-net/dap_stream_ch_chain_net.c
index da1d49c44e..eecdf1a6b1 100644
--- a/modules/channel/chain-net/dap_stream_ch_chain_net.c
+++ b/modules/channel/chain-net/dap_stream_ch_chain_net.c
@@ -127,17 +127,15 @@ dap_chain_node_addr_t dap_stream_ch_chain_net_from_session_data_extract_node_add
     return l_addr;
 }
 
-uint8_t dap_stream_ch_chain_net_get_id()
-{
+uint8_t dap_stream_ch_chain_net_get_id() {
     return 'N';
 }
 
 /**
  * @brief dap_stream_ch_chain_net_init
- * @return
+ * @return always 0
  */
-int dap_stream_ch_chain_net_init()
-{
+int dap_stream_ch_chain_net_init() {
     log_it(L_NOTICE, "Chain network channel initialized");
     dap_stream_ch_proc_add(dap_stream_ch_chain_net_get_id(), s_stream_ch_new, s_stream_ch_delete,
             s_stream_ch_packet_in, s_stream_ch_packet_out);
diff --git a/modules/channel/chain-voting/dap_stream_ch_chain_voting.c b/modules/channel/chain-voting/dap_stream_ch_chain_voting.c
index a2b39e60f2..bca43e486d 100644
--- a/modules/channel/chain-voting/dap_stream_ch_chain_voting.c
+++ b/modules/channel/chain-voting/dap_stream_ch_chain_voting.c
@@ -37,8 +37,7 @@ static void s_stream_ch_new(dap_stream_ch_t *a_ch, void *a_arg);
 static void s_stream_ch_delete(dap_stream_ch_t *a_ch, void *a_arg);
 static void s_stream_ch_packet_in(dap_stream_ch_t *a_ch, void *a_arg);
 
-int dap_stream_ch_chain_voting_init()
-{
+int dap_stream_ch_chain_voting_init() {
     log_it(L_NOTICE, "Chains voting channel initialized");
 
     dap_stream_ch_proc_add(dap_stream_ch_chain_voting_get_id(),
diff --git a/modules/consensus/block-poa/dap_chain_cs_block_poa.c b/modules/consensus/block-poa/dap_chain_cs_block_poa.c
index 04f795aebd..20060e4058 100644
--- a/modules/consensus/block-poa/dap_chain_cs_block_poa.c
+++ b/modules/consensus/block-poa/dap_chain_cs_block_poa.c
@@ -42,8 +42,7 @@
 #define LOG_TAG "dap_chain_cs_block_poa"
 
 
-typedef struct dap_chain_cs_dag_poa_pvt
-{
+typedef struct dap_chain_cs_dag_poa_pvt {
     dap_enc_key_t *sign_key;
     dap_cert_t ** auth_certs;
     char * auth_certs_prefix;
@@ -171,8 +170,7 @@ static int s_cli_block_poa(int argc, char ** argv, char **a_str_reply)
  * @param a_chain
  * @param a_chain_cfg
  */
-static int s_callback_new(dap_chain_t * a_chain, dap_config_t * a_chain_cfg)
-{
+static int s_callback_new(dap_chain_t * a_chain, dap_config_t * a_chain_cfg) {
     dap_chain_cs_blocks_new(a_chain, a_chain_cfg);
     dap_chain_cs_blocks_t * l_blocks = DAP_CHAIN_CS_BLOCKS( a_chain );
     dap_chain_cs_block_poa_t * l_poa = DAP_NEW_Z ( dap_chain_cs_block_poa_t);
diff --git a/modules/consensus/block-poa/include/dap_chain_cs_block_poa.h b/modules/consensus/block-poa/include/dap_chain_cs_block_poa.h
index eb73809ff8..3e6eff7f93 100644
--- a/modules/consensus/block-poa/include/dap_chain_cs_block_poa.h
+++ b/modules/consensus/block-poa/include/dap_chain_cs_block_poa.h
@@ -24,8 +24,7 @@
 #pragma once
 #include "dap_chain_cs_blocks.h"
 
-typedef struct dap_chain_cs_block_poa
-{
+typedef struct dap_chain_cs_block_poa {
     dap_chain_t * chain;
     dap_chain_cs_blocks_t * blocks;
     void * _pvt;
diff --git a/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c b/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c
index 6ed2566fe5..7246f591aa 100644
--- a/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c
+++ b/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c
@@ -108,8 +108,7 @@ static dap_interval_timer_t s_poa_round_timer = NULL;
  * read parameters from config and register dag_poa commands to cellframe-node-cli
  * @return
  */
-int dap_chain_cs_dag_poa_init(void)
-{
+int dap_chain_cs_dag_poa_init() {
     // Add consensus constructor
     dap_chain_cs_add ("dag_poa", s_callback_new );
     s_seed_mode = dap_config_get_item_bool_default(g_config,"general","seed_mode",false);
diff --git a/modules/consensus/dag-poa/include/dap_chain_cs_dag_poa.h b/modules/consensus/dag-poa/include/dap_chain_cs_dag_poa.h
index 85ec14a53b..e6b234123d 100644
--- a/modules/consensus/dag-poa/include/dap_chain_cs_dag_poa.h
+++ b/modules/consensus/dag-poa/include/dap_chain_cs_dag_poa.h
@@ -38,7 +38,7 @@ typedef struct dap_chain_cs_dag_poa
 #define DAP_CHAIN_CS_DAG_POA(a) ( (dap_chain_cs_dag_poa_t *) (a)->_inheritor)
 
 
-int dap_chain_cs_dag_poa_init(void);
+int dap_chain_cs_dag_poa_init();
 void dap_chain_cs_dag_poa_deinit(void);
 dap_list_t *dap_chain_cs_dag_poa_get_auth_certs(dap_chain_t *a_chain, size_t *a_auth_certs_count, uint16_t *a_count_verify);
 void dap_chain_cs_dag_poa_presign_callback_set(dap_chain_t *a_chain,
diff --git a/modules/consensus/dag-pos/dap_chain_cs_dag_pos.c b/modules/consensus/dag-pos/dap_chain_cs_dag_pos.c
index ec07f04253..f9ae15b216 100644
--- a/modules/consensus/dag-pos/dap_chain_cs_dag_pos.c
+++ b/modules/consensus/dag-pos/dap_chain_cs_dag_pos.c
@@ -58,8 +58,7 @@ static dap_chain_cs_dag_event_t * s_callback_event_create(dap_chain_cs_dag_t * a
  * @brief dap_chain_cs_dag_pos_init
  * @return
  */
-int dap_chain_cs_dag_pos_init()
-{
+int dap_chain_cs_dag_pos_init() {
     dap_chain_cs_add ("dag_pos", s_callback_new );
     return 0;
 }
diff --git a/modules/consensus/esbocs/dap_chain_cs_esbocs.c b/modules/consensus/esbocs/dap_chain_cs_esbocs.c
index ea2f6fd86e..40bcdf4b71 100644
--- a/modules/consensus/esbocs/dap_chain_cs_esbocs.c
+++ b/modules/consensus/esbocs/dap_chain_cs_esbocs.c
@@ -143,8 +143,7 @@ DAP_STATIC_INLINE uint16_t s_get_round_skip_timeout(dap_chain_esbocs_session_t *
     return PVT(a_session->esbocs)->round_attempt_timeout * 6 * PVT(a_session->esbocs)->round_attempts_max;
 }
 
-int dap_chain_cs_esbocs_init()
-{
+int dap_chain_cs_esbocs_init() {
     dap_stream_ch_chain_voting_init();
     dap_chain_cs_add("esbocs", s_callback_new);
     dap_cli_server_cmd_add ("esbocs", s_cli_esbocs, "ESBOCS commands",
diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c
index 7635db083a..954daa0ab6 100644
--- a/modules/net/dap_chain_net.c
+++ b/modules/net/dap_chain_net.c
@@ -302,8 +302,7 @@ static bool s_seed_mode = false;
  * register net* commands in cellframe-node-cli interface
  * @return
  */
-int dap_chain_net_init()
-{
+int dap_chain_net_init() {
     dap_stream_ch_chain_init();
     dap_stream_ch_chain_net_init();
     dap_chain_node_client_init();
@@ -338,21 +337,20 @@ int dap_chain_net_init()
     char * l_net_dir_str = dap_strdup_printf("%s/network", dap_config_path());
     DIR * l_net_dir = opendir( l_net_dir_str);
     if ( l_net_dir ){
-        struct dirent * l_dir_entry;
+        struct dirent * l_dir_entry = NULL;
         uint16_t l_acl_idx = 0;
-        while ( (l_dir_entry = readdir(l_net_dir) )!= NULL ){
+        while ( (l_dir_entry = readdir(l_net_dir) ) ){
             if (l_dir_entry->d_name[0]=='\0' || l_dir_entry->d_name[0]=='.')
                 continue;
             // don't search in directories
-            char * l_full_path = dap_strdup_printf("%s/%s", l_net_dir_str, l_dir_entry->d_name);
+            char l_full_path[MAX_PATH + 1] = {0};
+            dap_snprintf(l_full_path, sizeof(l_full_path), "%s/%s", l_net_dir_str, l_dir_entry->d_name);
             if(dap_dir_test(l_full_path)) {
-                DAP_DELETE(l_full_path);
                 continue;
             }
-            DAP_DELETE(l_full_path);
             // search only ".cfg" files
             if(strlen(l_dir_entry->d_name) > 4) { // It has non zero name excluding file extension
-                if(strncmp(l_dir_entry->d_name + strlen(l_dir_entry->d_name) - 4, ".cfg", 4) != 0) {
+                if( strncmp(l_dir_entry->d_name + strlen(l_dir_entry->d_name) - 4, ".cfg", 4) ) {
                     // its not .cfg file
                     continue;
                 }
@@ -2253,9 +2251,8 @@ void s_main_timer_callback(void *a_arg)
  * @param a_acl_idx currently 0
  * @return int
  */
-int s_net_init(const char * a_net_name, uint16_t a_acl_idx)
-{
-    dap_config_t *l_cfg=NULL;
+int s_net_init(const char * a_net_name, uint16_t a_acl_idx) {
+    dap_config_t *l_cfg = NULL;
     dap_string_t *l_cfg_path = dap_string_new("network/");
     dap_string_append(l_cfg_path,a_net_name);
 
diff --git a/modules/net/dap_chain_node_client.c b/modules/net/dap_chain_node_client.c
index 3b2a569259..ef680ec122 100644
--- a/modules/net/dap_chain_node_client.c
+++ b/modules/net/dap_chain_node_client.c
@@ -94,10 +94,9 @@ uint32_t s_timer_update_states = 600;
 
 /**
  * @brief dap_chain_node_client_init
- * @return
+ * @return always 0
  */
-int dap_chain_node_client_init(void)
-{
+int dap_chain_node_client_init() {
     s_stream_ch_chain_debug_more = dap_config_get_item_bool_default(g_config, "stream_ch_chain", "debug_more", false);
     s_timer_update_states = dap_config_get_item_uint32_default(g_config, "node_client", "timer_update_states", s_timer_update_states);
     return 0;
diff --git a/modules/net/include/dap_chain_node_client.h b/modules/net/include/dap_chain_node_client.h
index ad428d19e2..08e298d3f5 100644
--- a/modules/net/include/dap_chain_node_client.h
+++ b/modules/net/include/dap_chain_node_client.h
@@ -139,7 +139,7 @@ typedef struct dap_chain_node_client {
 
 #define DAP_CHAIN_NODE_CLIENT(a) (a ? (dap_chain_node_client_t *) (a)->_inheritor : NULL)
 
-int dap_chain_node_client_init(void);
+int dap_chain_node_client_init();
 
 void dap_chain_node_client_deinit(void);
 
diff --git a/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c b/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c
index b09e976a83..4c33590a61 100644
--- a/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c
+++ b/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c
@@ -55,12 +55,9 @@ static dap_chain_net_srv_stake_t *s_srv_stake = NULL;
 
 /**
  * @brief dap_stream_ch_vpn_init Init actions for VPN stream channel
- * @param vpn_addr Zero if only client mode. Address if the node shares its local VPN
- * @param vpn_mask Zero if only client mode. Mask if the node shares its local VPN
  * @return 0 if everything is okay, lesser then zero if errors
  */
-int dap_chain_net_srv_stake_pos_delegate_init()
-{
+int dap_chain_net_srv_stake_pos_delegate_init() {
     dap_chain_ledger_verificator_add(DAP_CHAIN_TX_OUT_COND_SUBTYPE_SRV_STAKE_POS_DELEGATE, s_stake_verificator_callback, s_stake_updater_callback);
     dap_cli_server_cmd_add("srv_stake", s_cli_srv_stake, "Delegated stake service commands",
     "\t\t=== Commands for work with orders ===\n"
diff --git a/modules/type/blocks/dap_chain_block_cache.c b/modules/type/blocks/dap_chain_block_cache.c
index 1182d280d8..2dbb287f5b 100644
--- a/modules/type/blocks/dap_chain_block_cache.c
+++ b/modules/type/blocks/dap_chain_block_cache.c
@@ -34,8 +34,7 @@
  * @brief dap_chain_block_cache_init
  * @return
  */
-int dap_chain_block_cache_init()
-{
+int dap_chain_block_cache_init() {
     return 0;
 }
 
diff --git a/modules/type/blocks/dap_chain_cs_blocks.c b/modules/type/blocks/dap_chain_cs_blocks.c
index 36a723f9e3..a4d65220b0 100644
--- a/modules/type/blocks/dap_chain_cs_blocks.c
+++ b/modules/type/blocks/dap_chain_cs_blocks.c
@@ -154,8 +154,7 @@ static bool s_debug_more = false;
  * @brief dap_chain_cs_blocks_init
  * @return
  */
-int dap_chain_cs_blocks_init()
-{
+int dap_chain_cs_blocks_init() {
     dap_chain_cs_type_add("blocks", dap_chain_cs_blocks_new );
     s_seed_mode = dap_config_get_item_bool_default(g_config,"general","seed_mode",false);
     s_debug_more = dap_config_get_item_bool_default(g_config, "blocks", "debug_more", false);
@@ -189,7 +188,7 @@ int dap_chain_cs_blocks_init()
                 "\t\t Take the whole commission\n\n"
 
                                         );
-    if (dap_chain_block_cache_init() != 0){
+    if( dap_chain_block_cache_init() ) {
         log_it(L_WARNING, "Can't init blocks cache");
     }
     log_it(L_NOTICE,"Initialized blocks(m) chain type");
@@ -205,8 +204,7 @@ void dap_chain_cs_blocks_deinit()
     dap_chain_block_cache_deinit();
 }
 
-int dap_chain_cs_blocks_new(dap_chain_t * a_chain, dap_config_t * a_chain_config)
-{
+int dap_chain_cs_blocks_new(dap_chain_t * a_chain, dap_config_t * a_chain_config) {
     dap_chain_cs_blocks_t * l_cs_blocks = DAP_NEW_Z(dap_chain_cs_blocks_t);
     if (!l_cs_blocks) {
         log_it(L_ERROR, "Memory allocation error in dap_chain_cs_blocks_new");
diff --git a/modules/type/dag/dap_chain_cs_dag.c b/modules/type/dag/dap_chain_cs_dag.c
index f113ca6fa3..c43a380d84 100644
--- a/modules/type/dag/dap_chain_cs_dag.c
+++ b/modules/type/dag/dap_chain_cs_dag.c
@@ -144,10 +144,9 @@ static bool s_debug_more = false;
 
 /**
  * @brief dap_chain_cs_dag_init
- * @return
+ * @return always 0
  */
-int dap_chain_cs_dag_init(void)
-{
+int dap_chain_cs_dag_init() {
     srand((unsigned int) time(NULL));
     dap_chain_cs_type_add( "dag", dap_chain_cs_dag_new );
     s_seed_mode = dap_config_get_item_bool_default(g_config,"general","seed_mode",false);
diff --git a/modules/type/dag/include/dap_chain_cs_dag.h b/modules/type/dag/include/dap_chain_cs_dag.h
index 84a7dd4ed5..c0f894574d 100644
--- a/modules/type/dag/include/dap_chain_cs_dag.h
+++ b/modules/type/dag/include/dap_chain_cs_dag.h
@@ -78,7 +78,7 @@ typedef struct dap_chain_cs_dag
 
 #define DAP_CHAIN_CS_DAG(a) ( (dap_chain_cs_dag_t *) (a)->_inheritor)
 
-int dap_chain_cs_dag_init(void);
+int dap_chain_cs_dag_init();
 void dap_chain_cs_dag_deinit(void);
 
 int dap_chain_cs_dag_new(dap_chain_t * a_chain, dap_config_t * a_chain_cfg);
-- 
GitLab