diff --git a/dap-sdk/core/src/rpmalloc/rpmalloc.c b/dap-sdk/core/src/rpmalloc/rpmalloc.c
index cab7ed149d76e532c4321870af18b12b705f741c..72410be1ee22aab1b142c993cdbd844708865f89 100644
--- a/dap-sdk/core/src/rpmalloc/rpmalloc.c
+++ b/dap-sdk/core/src/rpmalloc/rpmalloc.c
@@ -1990,7 +1990,7 @@ rpmalloc_thread_finalize(void) {
     while (span) {
       assert(span->span_count == (iclass + 1));
       size_t release_count = (!iclass ? _memory_span_release_count : _memory_span_release_count_large);
-      span_t* next = _memory_span_list_split(span, (uint32_t)release_count);
+      span_t* next = _memory_span_list_split(span, release_count);
 #if ENABLE_STATISTICS
       heap->thread_to_global += (size_t)span->list_size * span->span_count * _memory_span_size;
       heap->span_use[iclass].spans_to_global += span->list_size;
diff --git a/dap-sdk/crypto/src/msrln/kex.c b/dap-sdk/crypto/src/msrln/kex.c
index 99a8db39624b285185b2af30be2605c682b9359a..7c6a43993a22e636bb92c02ef227d4b8e4749932 100755
--- a/dap-sdk/crypto/src/msrln/kex.c
+++ b/dap-sdk/crypto/src/msrln/kex.c
@@ -423,7 +423,7 @@ void Rec(const uint32_t *x, const uint32_t* rvec, unsigned char *key)
 CRYPTO_MSRLN_STATUS get_error(int32_t* e, unsigned char* seed, unsigned int nonce, StreamOutput StreamOutputFunction)
 { // Error sampling
     (void) seed; (void) nonce; (void) StreamOutputFunction;
-    unsigned char stream[3 * PARAMETER_N];
+    uint32_t stream[3 * PARAMETER_N / sizeof(uint32_t)];
     uint32_t *pstream = (uint32_t *) &stream;
     uint32_t acc1, acc2, temp;
     uint8_t *pacc1 = (uint8_t *) &acc1, *pacc2 = (uint8_t *) &acc2;
diff --git a/modules/channel/chain/dap_stream_ch_chain.c b/modules/channel/chain/dap_stream_ch_chain.c
index 599ce676622681a266f58dea5eaf0dd077384fd8..16d648f851774e1b0476b09ea2f5202ef8bc09c9 100644
--- a/modules/channel/chain/dap_stream_ch_chain.c
+++ b/modules/channel/chain/dap_stream_ch_chain.c
@@ -1611,7 +1611,7 @@ void s_stream_ch_packet_out(dap_stream_ch_t* a_ch, void* a_arg)
             dap_db_log_list_obj_t *l_obj = NULL;
             for (i = 0; i < s_update_pack_size; i++) {
                 l_obj = dap_db_log_list_get(l_ch_chain->request_db_log);
-                if (!l_obj || DAP_POINTER_TO_INT(l_obj) == 1)
+                if (!l_obj || DAP_POINTER_TO_SIZE(l_obj) == 1)
                     break;
                 l_timer_reset = true;
                 memcpy(&l_data[i].hash, &l_obj->hash, sizeof(dap_chain_hash_fast_t));
@@ -1647,7 +1647,7 @@ void s_stream_ch_packet_out(dap_stream_ch_t* a_ch, void* a_arg)
             size_t l_pkt_size = 0;
             for (uint_fast16_t l_skip_count = 0; l_skip_count < s_skip_in_reactor_count; ) {
                 l_obj = dap_db_log_list_get(l_ch_chain->request_db_log);
-                if (!l_obj || DAP_POINTER_TO_INT(l_obj) == 1) {
+                if (!l_obj || DAP_POINTER_TO_SIZE(l_obj) == 1) {
                     l_skip_count = s_skip_in_reactor_count;
                     break;
                 }
diff --git a/modules/net/dap_chain_node_ping.c b/modules/net/dap_chain_node_ping.c
index 2f4f07c428981a6fc8884e869f982d8f0aed50f6..245af92aa0e67596d3c36df2444538f4d53b9819 100644
--- a/modules/net/dap_chain_node_ping.c
+++ b/modules/net/dap_chain_node_ping.c
@@ -169,7 +169,7 @@ int start_node_ping(pthread_t *a_thread, struct in_addr a_addr, int a_port, int
 // wait for ending ping within timeout_ms milliseconds
 int wait_node_ping(pthread_t l_thread, int timeout_ms)
 {
-    int l_ping_time = 0;
+    long int l_ping_time = 0;
     struct timespec l_wait_time;
     clock_gettime(CLOCK_REALTIME, &l_wait_time);
 
@@ -185,7 +185,7 @@ int wait_node_ping(pthread_t l_thread, int timeout_ms)
         pthread_kill(l_thread, 3); // SIGQUIT SIGABRT
     }
     else if(!res)
-        return l_ping_time;
+        return (int)l_ping_time;
     return -1;
 }
 
diff --git a/modules/net/srv/libmaxminddb/maxminddb.c b/modules/net/srv/libmaxminddb/maxminddb.c
index 21c18f2b621555f33e5e0e2837ed29f16f661277..8ed51d5a6ec767e36ee07129eba662924f63246d 100644
--- a/modules/net/srv/libmaxminddb/maxminddb.c
+++ b/modules/net/srv/libmaxminddb/maxminddb.c
@@ -1770,7 +1770,7 @@ LOCAL float get_ieee754_float(const uint8_t *restrict p)
     q[1] = p[2];
     q[0] = p[3];
 #else
-    memcpy(q, p, 4);
+    memcpy(q, p, sizeof(float));
 #endif
     return f;
 }
@@ -1789,7 +1789,7 @@ LOCAL double get_ieee754_double(const uint8_t *restrict p)
     q[1] = p[6];
     q[0] = p[7];
 #else
-    memcpy(q, p, 8);
+    memcpy(q, p, sizeof(double));
 #endif
 
     return d;
diff --git a/modules/type/dag/dap_chain_cs_dag_event.c b/modules/type/dag/dap_chain_cs_dag_event.c
index c020316381993712c5dffc91c91940886aa8f2c9..118961d585e4ad2ba5fb0d6a8f2241ed2e28c29a 100644
--- a/modules/type/dag/dap_chain_cs_dag_event.c
+++ b/modules/type/dag/dap_chain_cs_dag_event.c
@@ -186,8 +186,8 @@ bool dap_chain_cs_dag_event_sign_exists(dap_chain_cs_dag_event_t *a_event, size_
 }
 
 bool dap_chain_cs_dag_event_round_sign_exists(dap_chain_cs_dag_event_round_item_t *a_round_item, dap_enc_key_t *a_key) {
-    uint8_t *l_offset = a_round_item->event_n_signs + a_round_item->event_size;
-    size_t l_signs_size = a_round_item->data_size - a_round_item->event_size - sizeof(dap_chain_cs_dag_event_round_item_t);
+    uint8_t *l_offset = a_round_item->event_n_signs + (size_t)a_round_item->event_size;
+    size_t l_signs_size = (size_t)a_round_item->data_size - (size_t)a_round_item->event_size - sizeof(dap_chain_cs_dag_event_round_item_t);
     return s_sign_exists(l_offset, l_signs_size, a_key);
 }
 
@@ -231,8 +231,8 @@ size_t dap_chain_cs_dag_event_round_sign_add(dap_chain_cs_dag_event_round_item_t
     dap_sign_get_pkey_hash(l_sign, &l_pkey_hash);
     dap_chain_addr_fill(&l_addr, l_sign->header.type, &l_pkey_hash, a_net->pub.id);
 
-    size_t l_offset = l_round_item->event_size;
-    while ( l_offset < l_round_item->data_size ) {
+    size_t l_offset = (size_t)l_round_item->event_size;
+    while ( l_offset < (size_t)l_round_item->data_size ) {
         dap_sign_t * l_item_sign = (dap_sign_t *)(l_round_item->event_n_signs+l_offset);
         size_t l_sign_item_size = dap_sign_get_size(l_item_sign);
         dap_chain_addr_t l_item_addr = {0};
@@ -248,7 +248,7 @@ size_t dap_chain_cs_dag_event_round_sign_add(dap_chain_cs_dag_event_round_item_t
     *a_round_item_ptr = l_round_item = DAP_REALLOC(l_round_item, a_round_item_size+l_sign_size);
     memcpy(l_round_item->event_n_signs+l_offset, l_sign, l_sign_size);
     DAP_DELETE(l_sign);
-    l_round_item->data_size += l_sign_size;
+    l_round_item->data_size += (uint32_t)l_sign_size;
     return a_round_item_size+l_sign_size;
 }
 
@@ -290,8 +290,8 @@ bool dap_chain_cs_dag_event_gdb_set(dap_chain_cs_dag_t *a_dag, char *a_event_has
                                     size_t a_event_size, dap_chain_cs_dag_event_round_item_t *a_round_item,
                                     const char *a_group)
 {
-    size_t l_signs_size = a_round_item->data_size-a_round_item->event_size;
-    uint8_t *l_signs = (uint8_t*)a_round_item->event_n_signs + a_round_item->event_size;
+    size_t l_signs_size = (size_t)(a_round_item->data_size-a_round_item->event_size);
+    uint8_t *l_signs = (uint8_t*)a_round_item->event_n_signs + (size_t)a_round_item->event_size;
     dap_chain_cs_dag_event_round_item_t * l_round_item
             = DAP_NEW_SIZE(dap_chain_cs_dag_event_round_item_t,
                            sizeof(dap_chain_cs_dag_event_round_item_t) + a_event_size + l_signs_size);
@@ -301,8 +301,8 @@ bool dap_chain_cs_dag_event_gdb_set(dap_chain_cs_dag_t *a_dag, char *a_event_has
     }
 
 
-    l_round_item->event_size = a_event_size;
-    l_round_item->data_size = a_event_size+l_signs_size;
+    l_round_item->event_size = (uint32_t)a_event_size;
+    l_round_item->data_size = (uint32_t)(a_event_size+l_signs_size);
 
     memcpy(&l_round_item->round_info, &a_round_item->round_info, sizeof(dap_chain_cs_dag_event_round_info_t));
     memcpy(l_round_item->event_n_signs,                 a_event, a_event_size);
@@ -326,7 +326,7 @@ dap_chain_cs_dag_event_t* dap_chain_cs_dag_event_gdb_get(const char *a_event_has
                 (dap_chain_cs_dag_event_round_item_t*)dap_chain_global_db_gr_get(a_event_hash_str, &l_event_round_item_size, a_group );
     if ( l_event_round_item == NULL )
         return NULL;
-    size_t l_event_size = l_event_round_item->event_size;
+    size_t l_event_size = (size_t)l_event_round_item->event_size;
     dap_chain_cs_dag_event_t* l_event = DAP_NEW_SIZE(dap_chain_cs_dag_event_t, l_event_size);
     memcpy(a_event_round_info, &l_event_round_item->round_info, sizeof(dap_chain_cs_dag_event_round_info_t));
     memcpy(l_event, l_event_round_item->event_n_signs, l_event_size);