Report non-mandatory script failures correctly

Github-Pull: #7276
Rebased-From: 7ef8f3c072
This commit is contained in:
Pieter Wuille 2016-01-03 16:50:31 +01:00 committed by Wladimir J. van der Laan
parent 453c56701a
commit 76de36fd2e
No known key found for this signature in database
GPG Key ID: 74810B012346C9A6

View File

@ -1653,9 +1653,9 @@ bool CheckInputs(const CTransaction& tx, CValidationState &state, const CCoinsVi
// arguments; if so, don't trigger DoS protection to
// avoid splitting the network between upgraded and
// non-upgraded nodes.
CScriptCheck check(*coins, tx, i,
CScriptCheck check2(*coins, tx, i,
flags & ~STANDARD_NOT_MANDATORY_VERIFY_FLAGS, cacheStore);
if (check())
if (check2())
return state.Invalid(false, REJECT_NONSTANDARD, strprintf("non-mandatory-script-verify-flag (%s)", ScriptErrorString(check.GetScriptError())));
}
// Failures of other flags indicate a transaction that is