Add assert and comment for subtle pay-to-script-hash logic
This commit is contained in:
parent
4725e96a3a
commit
a91efb2d8d
1 changed files with 5 additions and 0 deletions
|
@ -1658,6 +1658,11 @@ bool VerifyScript(const CScript& scriptSig, const CScript& scriptPubKey, const C
|
||||||
if (!scriptSig.IsPushOnly()) // scriptSig must be literals-only
|
if (!scriptSig.IsPushOnly()) // scriptSig must be literals-only
|
||||||
return false; // or validation fails
|
return false; // or validation fails
|
||||||
|
|
||||||
|
// stackCopy cannot be empty here, because if it was the
|
||||||
|
// P2SH HASH <> EQUAL scriptPubKey would be evaluated with
|
||||||
|
// an empty stack and the EvalScript above would return false.
|
||||||
|
assert(!stackCopy.empty());
|
||||||
|
|
||||||
const valtype& pubKeySerialized = stackCopy.back();
|
const valtype& pubKeySerialized = stackCopy.back();
|
||||||
CScript pubKey2(pubKeySerialized.begin(), pubKeySerialized.end());
|
CScript pubKey2(pubKeySerialized.begin(), pubKeySerialized.end());
|
||||||
popstack(stackCopy);
|
popstack(stackCopy);
|
||||||
|
|
Loading…
Reference in a new issue