diff --git a/interop/src/cpp/SerializerBase.h b/interop/src/cpp/SerializerBase.h index 5cd41d1e61adac74b8fc55f3f3340f2728debcad..e4fdb9abd7a5e437e550f2c7d0d2102dad019503 100644 --- a/interop/src/cpp/SerializerBase.h +++ b/interop/src/cpp/SerializerBase.h @@ -79,12 +79,14 @@ private: data = newData; } public: - SerializerBase(uint8_t* data = nullptr, uint32_t dataLength = 0, CallbackResourceHolder* resourceHolder = nullptr): - data(data), dataLength(dataLength), position(0), ownData(data == nullptr), resourceHolder(resourceHolder) { - if (data == nullptr) { - this->dataLength = 256; - this->data = reinterpret_cast(malloc(dataLength)); - } + SerializerBase(CallbackResourceHolder* resourceHolder = nullptr): + position(0), ownData(true), resourceHolder(resourceHolder) { + this->dataLength = 256; + this->data = reinterpret_cast(malloc(this->dataLength)); + } + + SerializerBase(uint8_t* data, uint32_t dataLength, CallbackResourceHolder* resourceHolder = nullptr): + data(data), dataLength(dataLength), position(0), ownData(false), resourceHolder(resourceHolder) { } ~SerializerBase() {