aboutsummaryrefslogtreecommitdiff
path: root/src/script
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2016-04-25 12:31:45 +0200
committerPieter Wuille <pieter.wuille@gmail.com>2016-04-25 14:22:30 +0200
commitf8e6fb1800fbac87e76cdddc074d8f4af585f050 (patch)
tree340d4143f5076cc3d39df54ef3d3f7220e8f9363 /src/script
parentc4e8390047a1ba14e32ac4f3e3ac425eb5824f21 (diff)
downloadbitcoin-f8e6fb1800fbac87e76cdddc074d8f4af585f050.tar.xz
Introduce constant for maximum CScript length
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 9c47f7c6c9..fd4a5674cf 100644
--- a/src/script/interpreter.cpp
+++ b/src/script/interpreter.cpp
@@ -247,7 +247,7 @@ bool EvalScript(vector<vector<unsigned char> >& stack, const CScript& script, un
vector<bool> vfExec;
vector<valtype> altstack;
set_error(serror, SCRIPT_ERR_UNKNOWN_ERROR);
- if (script.size() > 10000)
+ if (script.size() > MAX_SCRIPT_SIZE)
return set_error(serror, SCRIPT_ERR_SCRIPT_SIZE);
int nOpCount = 0;
bool fRequireMinimal = (flags & SCRIPT_VERIFY_MINIMALDATA) != 0;
diff --git a/src/script/script.h b/src/script/script.h
index d2a68a07ba..68cde03e34 100644
--- a/src/script/script.h
+++ b/src/script/script.h
@@ -27,6 +27,9 @@ static const int MAX_OPS_PER_SCRIPT = 201;
// Maximum number of public keys per multisig
static const int MAX_PUBKEYS_PER_MULTISIG = 20;
+// Maximum script length in bytes
+static const int MAX_SCRIPT_SIZE = 10000;
+
// 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