From f94f402b57458c31accba8a2b1826cbcb2ae47b9 Mon Sep 17 00:00:00 2001 From: sowle Date: Wed, 6 Mar 2019 15:16:40 +0300 Subject: [PATCH] fixed a potential string copy bug in handle_get_network_state --- src/p2p/net_node.inl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl index b4813725..c7e18dac 100644 --- a/src/p2p/net_node.inl +++ b/src/p2p/net_node.inl @@ -1062,8 +1062,9 @@ namespace nodetool ce.time_started = cntxt.m_started; ce.last_recv = cntxt.m_last_recv; ce.last_send = cntxt.m_last_send; - std::strncpy(ce.version, cntxt.m_remote_version.c_str(), std::min(sizeof(ce.version), cntxt.m_remote_version.size())); - ce.version[sizeof(ce.version) - 1] = 0; //null terminating just to be sure + size_t len = std::min(sizeof(ce.version) - 1, cntxt.m_remote_version.size()); + std::strncpy(ce.version, cntxt.m_remote_version.c_str(), len); + ce.version[len] = 0; //null terminating just to be sure rsp.connections_list.push_back(ce); return true; });