diff --git a/dap-sdk/io/dap_context.c b/dap-sdk/io/dap_context.c
index bf2755f612e05b3c4bc3644c3bc8d2b853bcfb5b..6a01a2dcdf0b6554a20ba9cc42814e3302788bde 100644
--- a/dap-sdk/io/dap_context.c
+++ b/dap-sdk/io/dap_context.c
@@ -214,6 +214,7 @@ static void *s_context_thread(void *a_arg)
 {
     dap_context_msg_run_t * l_msg = (dap_context_msg_run_t*) a_arg;
     dap_context_t * l_context = l_msg->context;
+    assert(l_context);
 
     l_context->cpu_id = l_msg->cpu_id;
     if(l_msg->cpu_id!=-1)
@@ -258,8 +259,8 @@ static void *s_context_thread(void *a_arg)
     // Initialization success
     if(l_msg->flags & DAP_CONTEXT_FLAG_WAIT_FOR_STARTED ){
         pthread_mutex_lock(&l_context->started_mutex); // If we're too fast and calling thread haven't switched on cond_wait line
-        pthread_mutex_unlock(&l_context->started_mutex);
         pthread_cond_broadcast(&l_context->started_cond);
+        pthread_mutex_unlock(&l_context->started_mutex);
     }
 
     s_thread_loop(l_context);
diff --git a/dap-sdk/io/dap_events_socket.c b/dap-sdk/io/dap_events_socket.c
index d5fa95d54710d96cca226babdb1a70b19864b429..732413c7eceeb2ae4ca6fac2b3bda402ce5438eb 100644
--- a/dap-sdk/io/dap_events_socket.c
+++ b/dap-sdk/io/dap_events_socket.c
@@ -884,7 +884,7 @@ int dap_events_socket_queue_ptr_send( dap_events_socket_t *a_es, void *a_arg)
     if (l_errno == EINVAL || l_errno == EINTR || l_errno == ETIMEDOUT)
         l_errno = EAGAIN;
     if (l_ret == 0)
-        l_ret = 0;
+        l_ret = sizeof(a_arg);
     else if (l_ret > 0)
         l_ret = -l_ret;