From 4e9d19991376140f364adb49bb3dcc8d6a2c47bb Mon Sep 17 00:00:00 2001 From: jeffro256 Date: Sun, 28 Sep 2025 12:40:53 -0500 Subject: [PATCH] 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 --- src/daemon/rpc_command_executor.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/daemon/rpc_command_executor.cpp b/src/daemon/rpc_command_executor.cpp index 76ef2d8ce..9c3bf7868 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"