From 8114b303d1b4ee7ea14ed92aa015282f037dd0af Mon Sep 17 00:00:00 2001 From: Ole Vegard Solberg Date: Mon, 30 Sep 2024 09:58:03 +0200 Subject: [PATCH] Fix net_data_writer::ensure only checked size of current write operation, not preparing for multiple writes --- include/lnl/net_data_writer.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/include/lnl/net_data_writer.h b/include/lnl/net_data_writer.h index 452b8d6..2aa4bd6 100644 --- a/include/lnl/net_data_writer.h +++ b/include/lnl/net_data_writer.h @@ -71,14 +71,15 @@ namespace lnl { private: void ensure(size_t size) { - if (m_data.size() > size) { + size_t neededSize = size + m_position; + if (m_data.size() > neededSize) { return; } do { auto newSize = m_data.empty() ? 1 : m_data.size(); m_data.resize(newSize * GROWTH_FACTOR, 0); - } while (m_data.size() <= size); + } while (m_data.size() <= neededSize); } }; -} \ No newline at end of file +}