From 4a9942b57f0aedb7f394f309922b189437d5db8c Mon Sep 17 00:00:00 2001 From: Joshua Whitley Date: Thu, 5 Sep 2019 11:57:22 -0500 Subject: [PATCH 1/2] Fix memory initialization of buffer vector. --- src/tcp_interface.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tcp_interface.cpp b/src/tcp_interface.cpp index 79ccefd..dbe8394 100644 --- a/src/tcp_interface.cpp +++ b/src/tcp_interface.cpp @@ -74,7 +74,7 @@ ReturnStatuses TCPInterface::read(std::vector *msg) error_.assign(boost::system::errc::success, boost::system::system_category()); - msg->reserve(10000); + msg->resize(socket_.available(), 0); boost::asio::read(socket_, boost::asio::buffer(*msg), error_); // Reset the io service so that it is available for the next call to TCPInterface::read @@ -93,7 +93,7 @@ ReturnStatuses TCPInterface::read_exactly(std::vector *msg, const size_ error_.assign(boost::system::errc::success, boost::system::system_category()); - msg->reserve(bytes_to_read); + msg->resize(bytes_to_read, 0); boost::asio::read(socket_, boost::asio::buffer(*msg), boost::asio::transfer_exactly(bytes_to_read)); // Reset the io service so that it is available for the next call to TCPInterface::read_exactly From 51e803063c35f662c9119e8ad20e4012cfa853a0 Mon Sep 17 00:00:00 2001 From: Joshua Whitley Date: Thu, 5 Sep 2019 12:03:08 -0500 Subject: [PATCH 2/2] Apply same buffer allocation fix to UDP interface. --- src/udp_interface.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/udp_interface.cpp b/src/udp_interface.cpp index 2fda3ec..315f2ec 100644 --- a/src/udp_interface.cpp +++ b/src/udp_interface.cpp @@ -73,7 +73,7 @@ ReturnStatuses UDPInterface::read(std::vector *msg) return ReturnStatuses::SOCKET_CLOSED; boost::system::error_code ec; - msg->reserve(10000); + msg->resize(socket_.available(), 0); socket_.receive(boost::asio::buffer(*msg), 0, ec); if (ec.value() == boost::system::errc::success)