aboutsummaryrefslogtreecommitdiff
path: root/src/init.cpp
diff options
context:
space:
mode:
authorPavol Rusnak <stick@gk2.sk>2015-07-31 18:05:42 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2015-08-05 09:38:20 +0200
commit7b79cbd722d35b8113d5136b06d4a8e5fd569fc6 (patch)
tree484ed735e5644daf574fbf4bc2dedfe035a29373 /src/init.cpp
parent557f8eac7aa96059270a36358642fbce93ac0478 (diff)
downloadbitcoin-7b79cbd722d35b8113d5136b06d4a8e5fd569fc6.tar.xz
limit total length of user agent comments
Reworked-By: Wladimir J. van der Laan <laanwj@gmail.com>
Diffstat (limited to 'src/init.cpp')
-rw-r--r--src/init.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/init.cpp b/src/init.cpp
index a03571c31a..91519e2935 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -1018,6 +1018,13 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler)
RegisterNodeSignals(GetNodeSignals());
+ // format user agent, check total size
+ strSubVersion = FormatSubVersion(CLIENT_NAME, CLIENT_VERSION, mapMultiArgs.count("-uacomment") ? mapMultiArgs["-uacomment"] : std::vector<string>());
+ if (strSubVersion.size() > MAX_SUBVERSION_LENGTH) {
+ return InitError(strprintf("Total length of network version string %i exceeds maximum of %i characters. Reduce the number and/or size of uacomments.",
+ strSubVersion.size(), MAX_SUBVERSION_LENGTH));
+ }
+
if (mapArgs.count("-onlynet")) {
std::set<enum Network> nets;
BOOST_FOREACH(const std::string& snet, mapMultiArgs["-onlynet"]) {