From faf8a90b8a52a9130822067556395d3b74794704 Mon Sep 17 00:00:00 2001
From: "Dmitriy A. Gerasimov" <dmitriy.gerasimov@demlabs.net>
Date: Thu, 26 Nov 2020 22:19:23 +0700
Subject: [PATCH] [*] Some deep fixes

---
 CMakeLists.txt                          | 2 +-
 dap-sdk/core/src/dap_list.c             | 2 +-
 modules/global-db/dap_chain_global_db.c | 3 ++-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 331fd849b7..c1eee15b42 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,7 +2,7 @@ project(cellframe-sdk C)
 cmake_minimum_required(VERSION 2.8)
 
 set(CMAKE_C_STANDARD 11)
-set(CELLFRAME_SDK_NATIVE_VERSION "2.6-57")
+set(CELLFRAME_SDK_NATIVE_VERSION "2.6-58")
 add_definitions ("-DCELLFRAME_SDK_VERSION=\"${CELLFRAME_SDK_NATIVE_VERSION}\"")
 
 set(DAPSDK_MODULES "")
diff --git a/dap-sdk/core/src/dap_list.c b/dap-sdk/core/src/dap_list.c
index 4c6ee31c2b..43e404a4c3 100755
--- a/dap-sdk/core/src/dap_list.c
+++ b/dap-sdk/core/src/dap_list.c
@@ -717,7 +717,7 @@ dap_list_t * dap_list_last(dap_list_t *list)
 {
     if(list)
     {
-        while(list->next)
+        while(list && list->next)
             list = list->next;
     }
 
diff --git a/modules/global-db/dap_chain_global_db.c b/modules/global-db/dap_chain_global_db.c
index a10589da98..7ccaa5f4c3 100644
--- a/modules/global-db/dap_chain_global_db.c
+++ b/modules/global-db/dap_chain_global_db.c
@@ -861,8 +861,9 @@ void* dap_db_log_unpack(const void *a_data, size_t a_data_size, size_t *a_store_
     const dap_store_obj_pkt_t *l_pkt = (const dap_store_obj_pkt_t*) a_data;
     if (! l_pkt)
         return NULL;
-    if(!l_pkt || l_pkt->data_size != ((size_t) a_data_size - sizeof(dap_store_obj_pkt_t)))
+    if( (l_pkt->data_size+ sizeof(dap_store_obj_pkt_t)) != ((size_t) a_data_size ))
         return NULL;
+
     size_t l_store_obj_count = 0;
     dap_store_obj_t *l_obj = dap_store_unpacket_multiple(l_pkt, &l_store_obj_count);
     if(a_store_obj_count)
-- 
GitLab