From 57cc28942fb5951363147753889ee1597c8db627 Mon Sep 17 00:00:00 2001 From: "aleksei.voronin" <aleksei.voronin@demlabs.net> Date: Sun, 10 May 2020 16:51:07 +0300 Subject: [PATCH] [*] Fixed iteration over tsd section in dumps for token creation. Also fixed pointer arithmetic. --- modules/net/dap_chain_net.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c index dd71990836..04cbb57a92 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); -- GitLab