diff --git a/CMakeLists.txt b/CMakeLists.txt
index 331fd849b7b3fb3eeebf71c1a6b4fb3d1e795887..c1eee15b427cd0ad595c38ab0534224b50cf5c32 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 4c6ee31c2be86bd2c6f0c460445b6eeced7cf4e5..43e404a4c3deab30399b8ad621c3832741ee9c2b 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 a10589da986c7e023accae2b0b62278983d7b859..7ccaa5f4c337e837575895051682fd9a6e89c926 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)