diff options
| author | jeffro256 <jeffro256@tutanota.com> | 2025-09-28 12:40:53 -0500 |
|---|---|---|
| committer | selsta <selsta@sent.at> | 2026-05-16 02:40:03 +0200 |
| commit | 7c543c82205c3522510e8da616edc795922ce9f3 (patch) | |
| tree | 295f77ff48cb65b7932327230667cad03faf775c /src | |
| parent | 528cbac17a6c372d1698c82e30df0fdfc78a5ccc (diff) | |
| download | monzero-core-7c543c82205c3522510e8da616edc795922ce9f3.tar.gz monzero-core-7c543c82205c3522510e8da616edc795922ce9f3.tar.xz monzero-core-7c543c82205c3522510e8da616edc795922ce9f3.zip | |
daemon: fix print_cn command when 0 connections
Deferencing the result of `std::max_element()` when `res.connections` has 0 elements leads to UB, and segfaults in practice.
Co-authored-by: iamamyth <user@example.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/daemon/rpc_command_executor.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/daemon/rpc_command_executor.cpp b/src/daemon/rpc_command_executor.cpp index 83620f417..f6746b8ad 100644 --- a/src/daemon/rpc_command_executor.cpp +++ b/src/daemon/rpc_command_executor.cpp @@ -644,12 +644,9 @@ bool t_rpc_command_executor::print_connections() { } } - auto longest_host = *std::max_element(res.connections.begin(), res.connections.end(), - [](const auto &info1, const auto &info2) - { - return info1.address.length() < info2.address.length(); - }); - int host_field_width = std::max(15, 8 + (int) longest_host.address.length()); + int host_field_width = 15; + for (const auto &conn : res.connections) + host_field_width = std::max(host_field_width, 8 + (int) conn.address.length()); tools::msg_writer() << std::setw(host_field_width) << std::left << "Remote Host" << std::setw(8) << "Type" |
