aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortobtoht <tob@featherwallet.org>2025-08-31 09:41:18 +0000
committertobtoht <tob@featherwallet.org>2025-08-31 09:41:18 +0000
commit81f948a4a1b2ab9314399f6fd82405aefd1b97a5 (patch)
tree9564c27430f6ed5ab94483cc36a3993ff707426b
parent911c6799ddf1031841c689de016b1db03afbc397 (diff)
parent7e3edc29c6653a585862bfbbf111433ecda0ee81 (diff)
downloadmonzero-core-81f948a4a1b2ab9314399f6fd82405aefd1b97a5.tar.gz
monzero-core-81f948a4a1b2ab9314399f6fd82405aefd1b97a5.tar.xz
monzero-core-81f948a4a1b2ab9314399f6fd82405aefd1b97a5.zip
Merge pull request #10063
7e3edc2 epee: only parse valid port (selsta)
-rw-r--r--contrib/epee/src/net_parse_helpers.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/contrib/epee/src/net_parse_helpers.cpp b/contrib/epee/src/net_parse_helpers.cpp
index 2697bdac4..9440aba68 100644
--- a/contrib/epee/src/net_parse_helpers.cpp
+++ b/contrib/epee/src/net_parse_helpers.cpp
@@ -92,7 +92,13 @@ namespace net_utils
}
return true;
}
-
+
+ static bool parse_port(const std::string& port_str, uint64_t& out_port)
+ {
+ out_port = 0;
+ return boost::conversion::try_lexical_convert(port_str, out_port) && out_port <= 65535;
+ }
+
bool parse_uri(const std::string uri, http::uri_content& content)
{
@@ -153,7 +159,8 @@ namespace net_utils
}
if(result[6].matched)
{
- content.port = boost::lexical_cast<uint64_t>(result[6]);
+ if (!parse_port(result[6].str(), content.port))
+ return false;
}
if(result[7].matched)
{
@@ -191,7 +198,8 @@ namespace net_utils
}
if(result[6].matched)
{
- content.port = boost::lexical_cast<uint64_t>(result[6]);
+ if (!parse_port(result[6].str(), content.port))
+ return false;
}
if(result[7].matched)
{