diff --git a/serialize/SerialBufferAdapter.cpp b/serialize/SerialBufferAdapter.cpp index c300eb36..ab52262f 100644 --- a/serialize/SerialBufferAdapter.cpp +++ b/serialize/SerialBufferAdapter.cpp @@ -23,16 +23,6 @@ SerialBufferAdapter::~SerialBufferAdapter() { template ReturnValue_t SerialBufferAdapter::serialize(uint8_t** buffer, size_t* size, size_t maxSize, Endianness streamEndianness) const { - count_t serializedLength = bufferLength; - if (serializeLength) { - serializedLength += SerializeAdapter::getSerializedSize( - &bufferLength); - } - - if (*size + serializedLength > maxSize) { - return BUFFER_TOO_SHORT; - } - if (serializeLength) { ReturnValue_t result = SerializeAdapter::serialize(&bufferLength, buffer, size, maxSize, streamEndianness); @@ -41,6 +31,10 @@ ReturnValue_t SerialBufferAdapter::serialize(uint8_t** buffer, } } + if (*size + bufferLength > maxSize) { + return BUFFER_TOO_SHORT; + } + if (this->constBuffer != nullptr) { std::memcpy(*buffer, this->constBuffer, bufferLength); }