mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-04 13:55:23 -05:00
fix: increase rpcbind check robustness
Adds invalid rpcbind port checking to `HTTPBindAddresses()`. While movement of `CheckHostPortOptions()` in the previous commit handles rcpbind port errors, updating `HTTPBindAddresses()` port checking adds a defensive measure for potential future changes.
This commit is contained in:
parent
d38e3aed89
commit
e6994efe08
1 changed files with 7 additions and 1 deletions
|
@ -8,6 +8,7 @@
|
|||
|
||||
#include <chainparamsbase.h>
|
||||
#include <common/args.h>
|
||||
#include <common/messages.h>
|
||||
#include <compat/compat.h>
|
||||
#include <logging.h>
|
||||
#include <netbase.h>
|
||||
|
@ -43,6 +44,8 @@
|
|||
|
||||
#include <support/events.h>
|
||||
|
||||
using common::InvalidPortErrMsg;
|
||||
|
||||
/** Maximum size of http request (request line + headers) */
|
||||
static const size_t MAX_HEADERS_SIZE = 8192;
|
||||
|
||||
|
@ -374,7 +377,10 @@ static bool HTTPBindAddresses(struct evhttp* http)
|
|||
for (const std::string& strRPCBind : gArgs.GetArgs("-rpcbind")) {
|
||||
uint16_t port{http_port};
|
||||
std::string host;
|
||||
SplitHostPort(strRPCBind, port, host);
|
||||
if (!SplitHostPort(strRPCBind, port, host)) {
|
||||
LogError("%s\n", InvalidPortErrMsg("-rpcbind", strRPCBind).original);
|
||||
return false;
|
||||
}
|
||||
endpoints.emplace_back(host, port);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue