diff options
| author | Andrew Chow <[email protected]> | 2017-05-30 15:43:07 -0700 |
|---|---|---|
| committer | Andrew Chow <[email protected]> | 2017-06-07 14:07:26 -0700 |
| commit | ac4e438229134595e949bfedb1f487c71fd45d24 (patch) | |
| tree | 08114ad8a0bd5616c83fd10d2a0db4f091b2e09b /src/script/script.cpp | |
| parent | Add a valid opcode sanity check to CScript (diff) | |
| download | discoin-ac4e438229134595e949bfedb1f487c71fd45d24.tar.xz discoin-ac4e438229134595e949bfedb1f487c71fd45d24.zip | |
Sanity check transaction scripts in DecodeHexTx
Make sure that the scripts of decoded transactions are valid scripts.
Diffstat (limited to 'src/script/script.cpp')
| -rw-r--r-- | src/script/script.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/script/script.cpp b/src/script/script.cpp index a71fee19c..a10b619f7 100644 --- a/src/script/script.cpp +++ b/src/script/script.cpp @@ -273,7 +273,8 @@ bool CScript::HasValidOps() const CScript::const_iterator it = begin(); while (it < end()) { opcodetype opcode; - if (!GetOp(it, opcode) || opcode > 0xb9) { + std::vector<unsigned char> item; + if (!GetOp(it, opcode, item) || opcode > MAX_OPCODE || item.size() > MAX_SCRIPT_ELEMENT_SIZE) { return false; } } |