From d648c1db081d7518f5433c5fbb4c6091ea024d63 Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Sun, 20 Jun 2021 20:51:15 -0500 Subject: [PATCH] Message data vector buffer should resize instead of reserve, preserving data on growth --- wxdata/source/scwx/wsr88d/rda/message_factory.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wxdata/source/scwx/wsr88d/rda/message_factory.cpp b/wxdata/source/scwx/wsr88d/rda/message_factory.cpp index 243d53e3..d698f302 100644 --- a/wxdata/source/scwx/wsr88d/rda/message_factory.cpp +++ b/wxdata/source/scwx/wsr88d/rda/message_factory.cpp @@ -78,7 +78,7 @@ MessageInfo MessageFactory::Create(std::istream& is) if (segment == 1) { // Estimate total message size - messageData_.reserve(dataSize * totalSegments); + messageData_.resize(dataSize * totalSegments); messageBufferStream_.clear(); bufferedSize_ = 0; } @@ -93,7 +93,7 @@ MessageInfo MessageFactory::Create(std::istream& is) std::max(totalSegments - segment + 1, 100u); size_t remainingSize = remainingSegments * dataSize; - messageData_.reserve(bufferedSize_ + remainingSize); + messageData_.resize(bufferedSize_ + remainingSize); } is.read(messageData_.data() + bufferedSize_, dataSize);