diff --git a/dap-sdk/crypto/src/dap_sign.c b/dap-sdk/crypto/src/dap_sign.c index 35119c650cb0057a7d432e484695f9ebe0af99dd..b27c2c2c57e74c182b9bcfd22df6c1c2cc3cd5c5 100755 --- a/dap-sdk/crypto/src/dap_sign.c +++ b/dap-sdk/crypto/src/dap_sign.c @@ -67,6 +67,7 @@ size_t dap_sign_create_output_unserialized_calc_size(dap_enc_key_t * a_key, size dap_sign_type_t dap_sign_type_from_key_type( dap_enc_key_type_t a_key_type) { dap_sign_type_t l_sign_type; + memset(&l_sign_type, 0, sizeof(l_sign_type)); switch (a_key_type){ case DAP_ENC_KEY_TYPE_SIG_BLISS: l_sign_type.type = SIG_TYPE_BLISS; break; case DAP_ENC_KEY_TYPE_SIG_PICNIC: l_sign_type.type = SIG_TYPE_PICNIC; break; diff --git a/dap-sdk/net/client/dap_client_http.c b/dap-sdk/net/client/dap_client_http.c index d210d66bfd90f43e41086adca230438d2f296965..e5f1ae6bb283e48bb3d7c53d509820bb3caf8cfc 100644 --- a/dap-sdk/net/client/dap_client_http.c +++ b/dap-sdk/net/client/dap_client_http.c @@ -89,7 +89,7 @@ static void s_http_new(dap_events_socket_t * a_es, void * arg) l_client_http_internal->content_length = 0; l_client_http_internal->response_size = 0; l_client_http_internal->response_size_max = DAP_CLIENT_HTTP_RESPONSE_SIZE_MAX; - l_client_http_internal->response = (uint8_t*) DAP_NEW_SIZE(uint8_t, DAP_CLIENT_HTTP_RESPONSE_SIZE_MAX); + l_client_http_internal->response = (uint8_t*) DAP_NEW_Z_SIZE(uint8_t, DAP_CLIENT_HTTP_RESPONSE_SIZE_MAX); } /** diff --git a/dap-sdk/net/core/dap_client_remote.c b/dap-sdk/net/core/dap_client_remote.c index a4ac7c9dbe737e8d128260384744dfbb928a3a92..567ef6954111c59af407bca8e043c158dddbd74d 100644 --- a/dap-sdk/net/core/dap_client_remote.c +++ b/dap-sdk/net/core/dap_client_remote.c @@ -24,6 +24,7 @@ #include <stdlib.h> #include <stdio.h> #include <string.h> +#include <errno.h> #ifndef _WIN32 #include <unistd.h> @@ -72,9 +73,11 @@ void dap_client_remote_deinit( ) void _save_ip_and_port( dap_client_remote_t * cl ) { struct sockaddr_in ip_adr_get; - socklen_t ip_adr_len; + socklen_t ip_adr_len = sizeof(ip_adr_get); - getpeername( cl->socket, (struct sockaddr * restrict)&ip_adr_get, &ip_adr_len ); + int l_res = getpeername( cl->socket, (struct sockaddr * restrict)&ip_adr_get, &ip_adr_len ); + if(l_res == -1) + log_it(L_ERROR, "%s error: %s", __PRETTY_FUNCTION__, strerror(errno)); cl->port = ntohs( ip_adr_get.sin_port ); strcpy( cl->s_ip, inet_ntoa(ip_adr_get.sin_addr) ); diff --git a/dap-sdk/net/core/dap_events.c b/dap-sdk/net/core/dap_events.c index 263474944d846c89305025a7bee6459a60fc26d1..d6efd109136e3be85a7b8e7e90adb6918da4b550 100644 --- a/dap-sdk/net/core/dap_events.c +++ b/dap-sdk/net/core/dap_events.c @@ -312,7 +312,7 @@ static void *thread_worker_function(void *arg) continue; } //log_it(L_DEBUG, "Worker=%d fd=%d socket=%d event=0x%x(%d)", w->number_thread, w->epoll_fd,cur->socket, events[n].events,events[n].events); - int l_sock_err, l_sock_err_size; + int l_sock_err = 0, l_sock_err_size = sizeof(l_sock_err); //connection already closed (EPOLLHUP - shutdown has been made in both directions) if(events[n].events & EPOLLHUP) { // && events[n].events & EPOLLERR) { getsockopt(cur->socket, SOL_SOCKET, SO_ERROR, (void *)&l_sock_err, (socklen_t *)&l_sock_err_size); diff --git a/dap-sdk/net/core/dap_server.c b/dap-sdk/net/core/dap_server.c index 608603446143eba8e0a8c0f49f0b231b6ef34fd7..dd199b333ba93de547e37584e4b2684bb0ce1b0d 100644 --- a/dap-sdk/net/core/dap_server.c +++ b/dap-sdk/net/core/dap_server.c @@ -767,6 +767,7 @@ int32_t dap_server_loop( dap_server_t *d_server ) struct epoll_event pev; struct epoll_event events[ 16 ]; + memset(&pev, 0, sizeof(pev)); pev.events = EPOLLIN | EPOLLERR; pev.data.fd = d_server->socket_listener; diff --git a/dap-sdk/net/stream/stream/dap_stream_ctl.c b/dap-sdk/net/stream/stream/dap_stream_ctl.c index a3829e47a7dea75d140a61f817a4a89b51da49ad..80a9427af0390ce774fbe849e93f6706f4399b56 100644 --- a/dap-sdk/net/stream/stream/dap_stream_ctl.c +++ b/dap-sdk/net/stream/stream/dap_stream_ctl.c @@ -141,7 +141,7 @@ void s_proc(struct dap_http_simple *a_http_simple, void * a_arg) ss = dap_stream_session_pure_new(); strncpy(ss->active_channels, l_channels_str, l_channels_str_size); - char *key_str = calloc(1, KEX_KEY_STR_SIZE); + char *key_str = calloc(1, KEX_KEY_STR_SIZE+1); dap_random_string_fill(key_str, KEX_KEY_STR_SIZE); ss->key = dap_enc_key_new_generate( s_socket_forward_key.type, key_str, KEX_KEY_STR_SIZE, NULL, 0, s_socket_forward_key.size); 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 77e8db348f15370c3bfe02742d42bd354a87a727..22d437782c12cd4189d5b922ef8503aa5c509f0e 100644 --- a/modules/channel/chain-net/dap_stream_ch_chain_net.c +++ b/modules/channel/chain-net/dap_stream_ch_chain_net.c @@ -89,8 +89,8 @@ static void session_data_del(unsigned int a_id) pthread_mutex_lock(&s_hash_mutex); HASH_FIND_INT(s_chain_net_data, &a_id, l_sdata); if(l_sdata) { - DAP_DELETE(l_sdata); HASH_DEL(s_chain_net_data, l_sdata); + DAP_DELETE(l_sdata); } pthread_mutex_unlock(&s_hash_mutex); } @@ -101,8 +101,8 @@ static void session_data_del_all() pthread_mutex_lock(&s_hash_mutex); HASH_ITER(hh, s_chain_net_data , l_sdata, l_sdata_tmp) { - DAP_DELETE(l_sdata); HASH_DEL(s_chain_net_data, l_sdata); + DAP_DELETE(l_sdata); } pthread_mutex_unlock(&s_hash_mutex); }