From 90eaeffd7f8d3bc2fa8ed775bf62c9ed18544aae Mon Sep 17 00:00:00 2001
From: "Constantin P." <papizh.konstantin@demlabs.net>
Date: Mon, 29 Jul 2024 16:20:38 +0700
Subject: [PATCH] Some leaks eliminated

---
 modules/net/dap_chain_net.c                          | 1 +
 modules/service/stake/dap_chain_net_srv_stake_lock.c | 3 ++-
 modules/service/voting/dap_chain_net_srv_voting.c    | 1 +
 modules/type/dag/dap_chain_cs_dag_event.c            | 2 +-
 4 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c
index 9f03a13d8a..980fe613b9 100644
--- a/modules/net/dap_chain_net.c
+++ b/modules/net/dap_chain_net.c
@@ -1556,6 +1556,7 @@ static int s_cli_net(int argc, char **argv, void **reply)
                     }
                     dap_chain_hash_fast_t l_pkey_hash;
                     dap_hash_fast(l_pub_key, l_pub_key_size, &l_pkey_hash);
+                    DAP_DELETE(l_pub_key);
                     l_hash_hex_str = dap_chain_hash_fast_to_str_new(&l_pkey_hash);
                     //l_hash_base58_str = dap_enc_base58_encode_hash_to_str(&l_pkey_hash);
                 } else {
diff --git a/modules/service/stake/dap_chain_net_srv_stake_lock.c b/modules/service/stake/dap_chain_net_srv_stake_lock.c
index 7c6651107e..f6f15e6b06 100644
--- a/modules/service/stake/dap_chain_net_srv_stake_lock.c
+++ b/modules/service/stake/dap_chain_net_srv_stake_lock.c
@@ -579,9 +579,10 @@ static enum error_code s_cli_take(int a_argc, char **a_argv, int a_arg_index, da
             memcmp(l_owner_sign->pkey_n_sign, l_owner_pkey, l_owner_pkey_size)) {
         dap_chain_wallet_close(l_wallet);
         dap_enc_key_delete(l_owner_key);
+        DAP_DELETE(l_owner_pkey);
         return OWNER_KEY_ERROR;
     }
-
+    DAP_DELETE(l_owner_pkey);
     if (l_tx_out_cond->subtype.srv_stake_lock.flags & DAP_CHAIN_NET_SRV_STAKE_LOCK_FLAG_BY_TIME &&
             l_tx_out_cond->subtype.srv_stake_lock.time_unlock > dap_time_now()) {
         dap_chain_wallet_close(l_wallet);
diff --git a/modules/service/voting/dap_chain_net_srv_voting.c b/modules/service/voting/dap_chain_net_srv_voting.c
index 4f294dbc59..0611998fd4 100644
--- a/modules/service/voting/dap_chain_net_srv_voting.c
+++ b/modules/service/voting/dap_chain_net_srv_voting.c
@@ -1448,6 +1448,7 @@ int dap_chain_net_vote_voting(dap_cert_t *a_cert, uint256_t a_fee, dap_chain_wal
             dap_hash_fast_t l_pkey_hash = {0};
 
             dap_hash_fast(l_pub_key, l_pub_key_size, &l_pkey_hash);
+            DAP_DELETE(l_pub_key);
             if (!dap_chain_net_srv_stake_check_pkey_hash(a_net->pub.id, &l_pkey_hash)) {
                 return DAP_CHAIN_NET_VOTE_VOTING_KEY_IS_NOT_DELEGATED;
             }
diff --git a/modules/type/dag/dap_chain_cs_dag_event.c b/modules/type/dag/dap_chain_cs_dag_event.c
index 4402212cd5..8bce113cf5 100644
--- a/modules/type/dag/dap_chain_cs_dag_event.c
+++ b/modules/type/dag/dap_chain_cs_dag_event.c
@@ -154,7 +154,7 @@ size_t dap_chain_cs_dag_event_sign_add(dap_chain_cs_dag_event_t **a_event_ptr, s
         uint8_t *l_pub_key = dap_enc_key_serialize_pub_key(a_key, &l_pub_key_size);
         dap_hash_fast_t l_pkey_hash = {};
         dap_hash_fast(l_pub_key, l_pub_key_size, &l_pkey_hash);
-        DAP_DEL_Z(l_pub_key);
+        DAP_DELETE(l_pub_key);
         char l_hash_str[DAP_CHAIN_HASH_FAST_STR_SIZE];
         dap_hash_fast_to_str(&l_pkey_hash, l_hash_str, DAP_CHAIN_HASH_FAST_STR_SIZE);
         log_it(L_DEBUG, "Sign from this key exists: %s", l_hash_str);
-- 
GitLab