From cbc384d7f1a0ca73da43a926aa9a9da0a60b20b7 Mon Sep 17 00:00:00 2001
From: "aleksei.voronin" <aleksei.voronin@demlabs.net>
Date: Thu, 21 May 2020 19:51:28 +0300
Subject: [PATCH] [*] fixed error (array data inside dap_stream_ch_t was added
 directly to event hashtable)

---
 modules/channel/chain/dap_stream_ch_chain.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/modules/channel/chain/dap_stream_ch_chain.c b/modules/channel/chain/dap_stream_ch_chain.c
index be7b4e66c1..7f93f8111a 100644
--- a/modules/channel/chain/dap_stream_ch_chain.c
+++ b/modules/channel/chain/dap_stream_ch_chain.c
@@ -334,7 +334,9 @@ void s_stream_ch_packet_in(dap_stream_ch_t* a_ch, void* a_arg)
                 if(l_chain) {
                     // Expect atom element in
                     if(l_chain_pkt_data_size > 0) {
-                        if(l_chain->callback_atom_add(l_chain, l_chain_pkt->data) == 0 &&
+                        dap_chain_atom_ptr_t l_atom_copy = DAP_CALLOC(1, l_chain_pkt_data_size);
+                        memcpy(l_atom_copy, l_chain_pkt->data, l_chain_pkt_data_size);
+                        if(l_chain->callback_atom_add(l_chain, l_atom_copy) == 0 &&
                                 dap_chain_has_file_store(l_chain)) {
                             // append to file
                             dap_chain_cell_id_t l_cell_id;
-- 
GitLab