From d65e8cf89f0cb7d485c28e43f1a6965ab5d7ad5e Mon Sep 17 00:00:00 2001 From: Nav Date: Wed, 1 Jun 2022 21:46:20 +0100 Subject: [PATCH] Fixed AVR CMSIS command packet splitting bug --- .../CMSIS-DAP/VendorSpecific/EDBG/AVR/AvrCommand.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/AVR/AvrCommand.cpp b/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/AVR/AvrCommand.cpp index 61ce4975..7b907aa7 100644 --- a/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/AVR/AvrCommand.cpp +++ b/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/AVR/AvrCommand.cpp @@ -6,13 +6,13 @@ namespace Bloom::DebugToolDrivers::Protocols::CmsisDap::Edbg::Avr std::vector data; auto commandPacket = this->getCommandPacket(); std::size_t commandPacketSize = commandPacket.size(); - data.resize(3 + commandPacketSize); + data.reserve(3 + commandPacketSize); // FragmentInfo byte - data[0] = static_cast((this->getFragmentNumber() << 4) | this->getFragmentCount()); + data.emplace_back(static_cast((this->getFragmentNumber() << 4) | this->getFragmentCount())); // Size byte - data[1] = static_cast(commandPacketSize >> 8); - data[2] = static_cast(commandPacketSize & 0xFF); + data.emplace_back(static_cast(commandPacketSize >> 8)); + data.emplace_back(static_cast(commandPacketSize & 0xFF)); if (commandPacketSize > 0) { data.insert(data.begin() + 3, commandPacket.begin(), commandPacket.end());