diff --git a/dap_chain_common.h b/dap_chain_common.h index d33f3c73ef8b1464c3b282d10cfac15a7018801b..b8bef3f23fe967225cf77712bd56577ec9dfceb2 100755 --- a/dap_chain_common.h +++ b/dap_chain_common.h @@ -202,7 +202,7 @@ static inline char * dap_chain_hash_slow_to_str_new(dap_chain_hash_slow_t * a_ha static inline char * dap_chain_hash_fast_to_str_new(dap_chain_hash_fast_t * a_hash) { - const size_t c_hash_str_size = sizeof(*a_hash)*2 +1 /*trailing zero*/ +2 /* heading 0x */ ; + const size_t c_hash_str_size = sizeof(*a_hash)*2 +1 /*trailing zero*/ +2 /* heading 0x */+4/*just to be sure*/ ; char * ret = DAP_NEW_Z_SIZE(char, c_hash_str_size); dap_chain_hash_fast_to_str(a_hash,ret,c_hash_str_size); return ret; diff --git a/dap_chain_ledger.c b/dap_chain_ledger.c index 58ab3f6ae248830d325c20ebe2eee714951489c7..808cf8d9d04a11814eb93d2e7f853b31f4bd00ae 100755 --- a/dap_chain_ledger.c +++ b/dap_chain_ledger.c @@ -242,7 +242,7 @@ int dap_chain_ledger_token_emission_add(dap_ledger_t *a_ledger, if(l_token_item) { dap_chain_ledger_token_emission_item_t * l_token_emission_item = NULL; // check if such emission is already present in table - dap_chain_hash_fast_t l_token_emission_hash; + dap_chain_hash_fast_t l_token_emission_hash={0}; dap_chain_hash_fast_t * l_token_emission_hash_ptr = &l_token_emission_hash; dap_hash_fast(a_token_emission, a_token_emission_size, &l_token_emission_hash); char * l_hash_str = dap_chain_hash_fast_to_str_new(&l_token_emission_hash); @@ -327,11 +327,11 @@ void dap_chain_ledger_addr_get_token_ticker_all(dap_ledger_t *a_ledger, dap_chai { dap_chain_hash_fast_t l_tx_first_hash = { 0 }; const dap_chain_ledger_tx_item_t * l_tx_item = tx_item_find_by_addr(a_ledger, a_addr, &l_tx_first_hash); + char ** l_tickers = NULL; + size_t l_tickers_size = 10; if(l_tx_item) { - - size_t l_tickers_size = 10; - char ** l_tickers = DAP_NEW_Z_SIZE(char *, l_tickers_size * sizeof(char*)); - *a_tickers = l_tickers; + l_tickers_size = 10; + l_tickers = DAP_NEW_Z_SIZE(char *, l_tickers_size * sizeof(char*)); size_t l_tickers_pos = 0; while(l_tx_item) { bool l_is_not_in_list = true; @@ -355,8 +355,9 @@ void dap_chain_ledger_addr_get_token_ticker_all(dap_ledger_t *a_ledger, dap_chai } l_tickers_size = l_tickers_pos + 1; l_tickers = DAP_REALLOC(l_tickers, l_tickers_size); - *a_tickers_size = l_tickers_size; } + *a_tickers = l_tickers; + *a_tickers_size = l_tickers_size; } /**