diff --git a/modules/chain/dap_chain_cell.c b/modules/chain/dap_chain_cell.c index 88e50a2aaff68cd339ebd659d7c3fbcd1143d630..89438c658b137976d755183af7bfecb193a043a0 100644 --- a/modules/chain/dap_chain_cell.c +++ b/modules/chain/dap_chain_cell.c @@ -463,7 +463,7 @@ int dap_chain_cell_load(dap_chain_t *a_chain, dap_chain_cell_t *a_cell) break; } l_el_size = *(uint64_t*)a_cell->map_pos; - if ( l_el_size > (size_t)(l_full_size - l_pos) ) + if ( !l_el_size || l_el_size > (size_t)(l_full_size - l_pos) ) break; a_cell->map_pos += sizeof(uint64_t); dap_chain_atom_ptr_t l_atom = (dap_chain_atom_ptr_t)(a_cell->map_pos);