diff options
author | luigi1111 <luigi1111w@gmail.com> | 2020-05-06 00:25:18 -0500 |
---|---|---|
committer | luigi1111 <luigi1111w@gmail.com> | 2020-05-06 00:25:18 -0500 |
commit | 483e5cab5cf5cb8ad2c5aa278aa2476d0dd02004 (patch) | |
tree | 1c1b863de3427da5d9cabaef03cc5a836bddbf64 /src | |
parent | Merge pull request #6471 (diff) | |
parent | cryptonote: fix reuse of non default tx data when relaying (diff) | |
download | monero-483e5cab5cf5cb8ad2c5aa278aa2476d0dd02004.tar.xz |
Merge pull request #6472
2efbd5f cryptonote: fix reuse of non default tx data when relaying (moneromooo-monero)
Diffstat (limited to 'src')
-rw-r--r-- | src/cryptonote_basic/cryptonote_format_utils.cpp | 2 | ||||
-rw-r--r-- | src/cryptonote_core/cryptonote_core.cpp | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/cryptonote_basic/cryptonote_format_utils.cpp b/src/cryptonote_basic/cryptonote_format_utils.cpp index b3400abc7..cb6d1ec91 100644 --- a/src/cryptonote_basic/cryptonote_format_utils.cpp +++ b/src/cryptonote_basic/cryptonote_format_utils.cpp @@ -160,6 +160,8 @@ namespace cryptonote if (tx.version >= 2 && !is_coinbase(tx)) { rct::rctSig &rv = tx.rct_signatures; + if (rv.type == rct::RCTTypeNull) + return true; if (rv.outPk.size() != tx.vout.size()) { LOG_PRINT_L1("Failed to parse transaction from blob, bad outPk size in tx " << get_transaction_hash(tx)); diff --git a/src/cryptonote_core/cryptonote_core.cpp b/src/cryptonote_core/cryptonote_core.cpp index 2ed71e513..c1f9927a9 100644 --- a/src/cryptonote_core/cryptonote_core.cpp +++ b/src/cryptonote_core/cryptonote_core.cpp @@ -1309,9 +1309,9 @@ namespace cryptonote std::vector<crypto::hash> tx_hashes{}; tx_hashes.resize(tx_blobs.size()); - cryptonote::transaction tx{}; for (std::size_t i = 0; i < tx_blobs.size(); ++i) { + cryptonote::transaction tx{}; if (!parse_and_validate_tx_from_blob(tx_blobs[i], tx, tx_hashes[i])) { LOG_ERROR("Failed to parse relayed transaction"); |