diff --git a/src/resource_item.cpp b/src/resource_item.cpp index 35b6391..ac87305 100644 --- a/src/resource_item.cpp +++ b/src/resource_item.cpp @@ -47,11 +47,17 @@ bool ResourceItem::SetData(const string &data) bool ResourceItem::SetData(const int8_t *data, uint32_t length) { - if (data == nullptr || length <= 0) { + if (data == nullptr || length < 0) { return false; } ReleaseData(); + if (length == 0) { + // the string in the element directory can be empty + data_ = new (nothrow) int8_t[0]; + dataLen_ = 0; + return true; + } int8_t *buffer = reinterpret_cast(new (nothrow) int8_t[length]); if (buffer == nullptr) { return false;