aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_basic
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2020-04-22 16:48:37 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2020-04-22 16:50:20 +0000
commit2efbd5f0ccc196043a17b1d9d6110dccdc7fa40e (patch)
tree638627d711ab109bed231a5407311702b40c61b8 /src/cryptonote_basic
parentMerge pull request #6314 (diff)
downloadmonero-2efbd5f0ccc196043a17b1d9d6110dccdc7fa40e.tar.xz
cryptonote: fix reuse of non default tx data when relaying
An automatic tx variable is initialized properly on the first run through the loop, but not the second. Moving the variable inside the loop ensures the ctor is called again to init it.
Diffstat (limited to 'src/cryptonote_basic')
-rw-r--r--src/cryptonote_basic/cryptonote_format_utils.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cryptonote_basic/cryptonote_format_utils.cpp b/src/cryptonote_basic/cryptonote_format_utils.cpp
index 80747dd89..22bc9844b 100644
--- a/src/cryptonote_basic/cryptonote_format_utils.cpp
+++ b/src/cryptonote_basic/cryptonote_format_utils.cpp
@@ -146,6 +146,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));