diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c index dd719908367785aa0c009f070673820e9d45b297..04cbb57a92b7dd73f18fa2c9d9eb2bfee969b350 100644 --- a/modules/net/dap_chain_net.c +++ b/modules/net/dap_chain_net.c @@ -2281,13 +2281,14 @@ void dap_chain_net_dump_datum(dap_string_t * a_str_out, dap_chain_datum_t * a_da dap_string_append_printf(a_str_out,"type: PRIVATE_DECL\n"); dap_string_append_printf(a_str_out,"flags: "); dap_chain_datum_token_flags_dump(a_str_out, l_token->header_private_decl.flags); - dap_chain_datum_token_tsd_t * l_tsd = dap_chain_datum_token_tsd_get(l_token, l_token_size); - if (l_tsd == NULL) + dap_chain_datum_token_tsd_t * l_tsd_first = dap_chain_datum_token_tsd_get(l_token, l_token_size); + if (l_tsd_first == NULL) dap_string_append_printf(a_str_out,"<CORRUPTED TSD SECTION>\n"); else{ size_t l_offset = 0; size_t l_offset_max = l_token->header_private_decl.tsd_total_size; while( l_offset< l_offset_max){ + dap_chain_datum_token_tsd_t * l_tsd = (void*)l_tsd_first + l_offset; if ( (l_tsd->size+l_offset) >l_offset_max){ log_it(L_WARNING, "<CORRUPTED TSD> too big size %zd when left maximum %zd", l_tsd->size, l_offset_max - l_offset);