diff options
| author | tobtoht <tob@featherwallet.org> | 2025-08-31 09:41:18 +0000 |
|---|---|---|
| committer | tobtoht <tob@featherwallet.org> | 2025-08-31 09:41:18 +0000 |
| commit | 81f948a4a1b2ab9314399f6fd82405aefd1b97a5 (patch) | |
| tree | 9564c27430f6ed5ab94483cc36a3993ff707426b | |
| parent | 911c6799ddf1031841c689de016b1db03afbc397 (diff) | |
| parent | 7e3edc29c6653a585862bfbbf111433ecda0ee81 (diff) | |
| download | monzero-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.cpp | 14 |
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) { |
