aboutsummaryrefslogtreecommitdiff
path: root/src/script
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2017-05-23 14:24:47 -0700
committerPieter Wuille <pieter.wuille@gmail.com>2017-05-23 14:35:52 -0700
commit4cb8757aae1ae31e5519d81e854f44ed062d9836 (patch)
treec9d09f3ec698b9c55b88d3f81bb1b4b551c2c2d1 /src/script
parentf2f7e97e8cc24cf7a2b7954cb74ecfd0f91a95ad (diff)
parentcb184b3a544df7bcc7695ad3b54ed9d196c1650e (diff)
downloadbitcoin-4cb8757aae1ae31e5519d81e854f44ed062d9836.tar.xz
Merge #10313: [Consensus] Add constant for maximum stack size
cb184b3 Add constant for maximum stack size (Gregory Sanders) Tree-SHA512: 0ec4a28552a6eee7fba8c69278f63c61f095e4ba06cb34456bd0162cd702370d10cca621ae1797a0d5e62fb39814cbb8245d3a7adc007ca39dab7a49cbc925dc
Diffstat (limited to 'src/script')
-rw-r--r--src/script/interpreter.cpp2
-rw-r--r--src/script/script.h3
2 files changed, 4 insertions, 1 deletions
diff --git a/src/script/interpreter.cpp b/src/script/interpreter.cpp
index 1ba0f775bd..222cff59ea 100644
--- a/src/script/interpreter.cpp
+++ b/src/script/interpreter.cpp
@@ -1028,7 +1028,7 @@ bool EvalScript(std::vector<std::vector<unsigned char> >& stack, const CScript&
}
// Size limits
- if (stack.size() + altstack.size() > 1000)
+ if (stack.size() + altstack.size() > MAX_STACK_SIZE)
return set_error(serror, SCRIPT_ERR_STACK_SIZE);
}
}
diff --git a/src/script/script.h b/src/script/script.h
index d7aaa04f80..95a5999a13 100644
--- a/src/script/script.h
+++ b/src/script/script.h
@@ -30,6 +30,9 @@ static const int MAX_PUBKEYS_PER_MULTISIG = 20;
// Maximum script length in bytes
static const int MAX_SCRIPT_SIZE = 10000;
+// Maximum number of values on script interpreter stack
+static const int MAX_STACK_SIZE = 1000;
+
// Threshold for nLockTime: below this value it is interpreted as block number,
// otherwise as UNIX timestamp.
static const unsigned int LOCKTIME_THRESHOLD = 500000000; // Tue Nov 5 00:53:20 1985 UTC