From 919abfa92f44170d03b9d2bada7399d249bbd81c Mon Sep 17 00:00:00 2001
From: Roman Khlopkov <roman.khlopkov@demlabs.net>
Date: Fri, 11 Sep 2020 14:36:44 +0000
Subject: [PATCH] bugs-4442

---
 net/client/dap_client.c     | 3 +--
 net/client/dap_client_pvt.c | 5 +++++
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/net/client/dap_client.c b/net/client/dap_client.c
index d977b219d..b164bab85 100644
--- a/net/client/dap_client.c
+++ b/net/client/dap_client.c
@@ -459,9 +459,8 @@ dap_stream_ch_t * dap_client_get_stream_ch(dap_client_t * a_client, uint8_t a_ch
 {
     dap_stream_ch_t * l_ch = NULL;
     dap_client_pvt_t * l_client_internal = a_client ? DAP_CLIENT_PVT(a_client) : NULL;
-    if(l_client_internal && l_client_internal->stream)
+    if(l_client_internal && l_client_internal->stream && l_client_internal->stream_es)
         for(int i = 0; i < l_client_internal->stream->channel_count; i++) {
-            dap_stream_ch_proc_t *l_ch_id = l_client_internal->stream->channel[i]->proc;
             if(l_client_internal->stream->channel[i]->proc->id == a_ch_id) {
                 l_ch = l_client_internal->stream->channel[i];
                 break;
diff --git a/net/client/dap_client_pvt.c b/net/client/dap_client_pvt.c
index 011d380a7..63db3542a 100644
--- a/net/client/dap_client_pvt.c
+++ b/net/client/dap_client_pvt.c
@@ -326,18 +326,23 @@ static void dap_client_pvt_delete_in(dap_client_pvt_t * a_client_pvt)
 
     if(a_client_pvt->session_key_id)
         DAP_DELETE(a_client_pvt->session_key_id);
+    a_client_pvt->session_key_id = NULL;
 
     if(a_client_pvt->active_channels)
         DAP_DELETE(a_client_pvt->active_channels);
+    a_client_pvt->active_channels = NULL;
 
     if(a_client_pvt->session_key)
         dap_enc_key_delete(a_client_pvt->session_key);
+    a_client_pvt->session_key = NULL;
 
     if(a_client_pvt->session_key_open)
         dap_enc_key_delete(a_client_pvt->session_key_open);
+    a_client_pvt->session_key_open = NULL;
 
     if(a_client_pvt->stream_key)
         dap_enc_key_delete(a_client_pvt->stream_key);
+    a_client_pvt->stream_key = NULL;
 
     //a_client_pvt->client = NULL;
    // DAP_DELETE(a_client_pvt);
-- 
GitLab