From e42fd3eee8dd81212d95f97ba58841396f02db28 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Sun, 26 May 2013 16:50:45 -0700 Subject: [PATCH] Verify the correct prior transaction, if required. --- src/cpp/ripple/Transactor.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/cpp/ripple/Transactor.cpp b/src/cpp/ripple/Transactor.cpp index daa6171b33..80ced481f7 100644 --- a/src/cpp/ripple/Transactor.cpp +++ b/src/cpp/ripple/Transactor.cpp @@ -149,10 +149,12 @@ TER Transactor::checkSeq() return tefPAST_SEQ; } - else - { - mTxnAccount->setFieldU32(sfSequence, t_seq + 1); - } + + if (mTxn.isFieldPresent(sfPreviousTxnID) && + (mTxnAccount->getFieldH256(sfPreviousTxnID) != mTxn.getFieldH256(sfPreviousTxnID))) + return tefWRONG_PRIOR; + + mTxnAccount->setFieldU32(sfSequence, t_seq + 1); return tesSUCCESS; }