aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjeffro256 <jeffro256@tutanota.com>2025-09-28 12:40:53 -0500
committerselsta <selsta@sent.at>2026-05-16 02:40:03 +0200
commit7c543c82205c3522510e8da616edc795922ce9f3 (patch)
tree295f77ff48cb65b7932327230667cad03faf775c /src
parent528cbac17a6c372d1698c82e30df0fdfc78a5ccc (diff)
downloadmonzero-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.cpp9
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"