diff --git a/dap_chain_ledger.c b/dap_chain_ledger.c index 72019768d944f495a9158204c76ff7b9b5c5058d..a9d3722aa4a9b9dc2606a888d7ae5509d5585a03 100755 --- a/dap_chain_ledger.c +++ b/dap_chain_ledger.c @@ -404,7 +404,7 @@ void dap_chain_ledger_addr_get_token_ticker_all(dap_ledger_t *a_ledger, dap_chai DAP_DELETE(l_tx_hash); } l_tickers_size = l_tickers_pos + 1; - l_tickers = DAP_REALLOC(l_tickers, l_tickers_size); + l_tickers = DAP_REALLOC(l_tickers, l_tickers_size * sizeof(char*)); } *a_tickers = l_tickers; *a_tickers_size = l_tickers_pos; @@ -1071,7 +1071,7 @@ uint64_t dap_chain_ledger_calc_balance(dap_ledger_t *a_ledger, const dap_chain_a dap_ledger_wallet_balance_t *l_balance_item = NULL ,* l_balance_item_tmp = NULL; dap_ledger_wallet_balance_key_t l_balance_key = {{0}}; memcpy( &l_balance_key.addr, &a_addr, sizeof(a_addr)); - snprintf( l_balance_key.ticker,sizeof (l_balance_key.ticker),"%s",a_token_ticker); + snprintf(l_balance_key.ticker, sizeof(l_balance_key.ticker) - 1, "%s", a_token_ticker ? a_token_ticker : "???"); HASH_FIND(hh,PVT(a_ledger)->balance_accounts,&l_balance_key,sizeof(dap_ledger_wallet_balance_key_t),l_balance_item); if (l_balance_item) { log_it (L_DEBUG,"Found address in cache with balance %llu", l_balance_item->balance);