diff --git a/VersionedMap.cpp b/VersionedMap.cpp index 69438ec..13a0fe2 100644 --- a/VersionedMap.cpp +++ b/VersionedMap.cpp @@ -109,9 +109,13 @@ struct Entry { e->refCount = 1; e->priority = XXH3_64bits(key, keyLen); e->clearTo = clearTo; - memcpy((uint8_t *)e->getKey(), key, keyLen); + if (keyLen > 0) { + memcpy((uint8_t *)e->getKey(), key, keyLen); + } ((uint8_t *)e->getKey())[keyLen] = 0; - memcpy((uint8_t *)e->getVal(), val, std::max(valLen, 0)); + if (valLen > 0) { + memcpy((uint8_t *)e->getVal(), val, valLen); + } return e; } };