diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2016-08-29 09:09:48 +0100 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2016-08-29 09:28:32 +0100 |
commit | 91ca0b4065597b16b72a172f9f40993de588e026 (patch) | |
tree | 6bf363ddadf32a656f27288b770380ea6d8b8bd1 | |
parent | blockchain: testnet heights for v3, v4, and v5 (diff) | |
download | monero-91ca0b4065597b16b72a172f9f40993de588e026.tar.xz |
core: allow empty global indices for txes with empty vout
-rw-r--r-- | src/cryptonote_core/blockchain.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/cryptonote_core/blockchain.cpp b/src/cryptonote_core/blockchain.cpp index ef72dac59..07db59796 100644 --- a/src/cryptonote_core/blockchain.cpp +++ b/src/cryptonote_core/blockchain.cpp @@ -2149,7 +2149,12 @@ bool Blockchain::get_tx_outputs_gindexs(const crypto::hash& tx_id, std::vector<u // get amount output indexes, currently referred to in parts as "output global indices", but they are actually specific to amounts indexs = m_db->get_tx_amount_output_indices(tx_index); - CHECK_AND_ASSERT_MES(indexs.size(), false, "internal error: global indexes for transaction " << tx_id << " is empty"); + if (indexs.empty()) + { + // empty indexs is only valid if the vout is empty, which is legal but rare + cryptonote::transaction tx = m_db->get_tx(tx_id); + CHECK_AND_ASSERT_MES(tx.vout.empty(), false, "internal error: global indexes for transaction " << tx_id << " is empty, and tx vout is not"); + } return true; } |