summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngo Huerner <ingo_huerner@mentor.com>2017-03-23 15:34:37 +0100
committerIngo Huerner <ingo_huerner@mentor.com>2017-03-23 15:34:37 +0100
commitb4bb5e120b71438bad2c45934e10b3058a0b7ee2 (patch)
tree32931045129510fbe66cfc066d4fecab859758a1
parent9f2fd043d034219a22b0ea84ee84ff9c07f05ec9 (diff)
downloadpersistence-common-object-b4bb5e120b71438bad2c45934e10b3058a0b7ee2.tar.gz
Fixed an issue with key-name when reusing a block and the key-name is shorter
-rw-r--r--src/key-value-store/database/kissdb.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/key-value-store/database/kissdb.c b/src/key-value-store/database/kissdb.c
index 70feeef..63088f8 100644
--- a/src/key-value-store/database/kissdb.c
+++ b/src/key-value-store/database/kissdb.c
@@ -2228,6 +2228,7 @@ int writeDualDataBlock(KISSDB* db, int64_t offset, int htNumber, const void* key
block = (DataBlock_s*) (db->mappedDb + offset);
block->delimStart = DATA_BLOCK_A_START_DELIMITER;
+ memset(block->key, 0, db->keySize);
memcpy(block->key,key, klen);
block->valSize = valueSize;
memcpy(block->value,value, block->valSize);
@@ -2241,6 +2242,7 @@ int writeDualDataBlock(KISSDB* db, int64_t offset, int htNumber, const void* key
backupBlock = (DataBlock_s*) ((char*) block + sizeof(DataBlock_s));
backupBlock->delimStart = DATA_BLOCK_B_START_DELIMITER;
backupBlock->crc = crc;
+ memset(backupBlock->key, 0, db->keySize);
memcpy(backupBlock->key,key, klen);
backupBlock->valSize = valueSize;
memcpy(backupBlock->value,value, backupBlock->valSize);