🐞 fix(utable): fix memleak in test case

This commit is contained in:
yangwei
2024-11-25 19:23:01 +08:00
parent efefab9600
commit ca52d2fbc2
4 changed files with 31 additions and 22 deletions

12
deps/utable/utable.c vendored
View File

@@ -347,7 +347,7 @@ void utable_add_cstring(struct utable *table, const char *key, const char *value
return;
}
item = MEMPOOL_ALLOC(table->mempool ,1,struct utable_item);
item->kv= utable_kv_new_with_cstring(key, key_sz, value, value_sz);
item->kv= utable_kv_new_with_cstring_from_mempool(table->mempool, key, key_sz, value, value_sz);
HASH_ADD_KEYPTR(hh, table->items, item->kv->key, item->kv->key_sz, item);
utable_item_stat_add(&table->stat, item->kv);
}
@@ -363,7 +363,7 @@ void utable_add_blob(struct utable *table, const char *key, const char *blob, si
return;
}
item = MEMPOOL_ALLOC(table->mempool ,1, struct utable_item);
item->kv = utable_kv_new_with_blob(key, key_sz, blob, blob_sz);
item->kv = utable_kv_new_with_blob_from_mempool(table->mempool, key, key_sz, blob, blob_sz);
HASH_ADD_KEYPTR(hh, table->items, item->kv->key, item->kv->key_sz, item);
utable_item_stat_add(&table->stat, item->kv);
@@ -380,7 +380,7 @@ void utable_add_integer(struct utable *table, const char *key, int64_t value)
return;
}
item = MEMPOOL_ALLOC(table->mempool ,1, struct utable_item);
item->kv = utable_kv_new_with_integer(key, key_sz, value);
item->kv = utable_kv_new_with_integer_from_mempool(table->mempool, key, key_sz, value);
HASH_ADD_KEYPTR(hh, table->items, item->kv->key, item->kv->key_sz, item);
utable_item_stat_add(&table->stat, item->kv);
@@ -397,7 +397,7 @@ void utable_add_integer_array(struct utable *table, const char *key, int64_t val
return;
}
item = MEMPOOL_ALLOC(table->mempool ,1, struct utable_item);
item->kv = utable_kv_new_with_integer_array(key, key_sz, value_array, n_value);
item->kv = utable_kv_new_with_integer_array_from_mempool(table->mempool, key, key_sz, value_array, n_value);
HASH_ADD_KEYPTR(hh, table->items, item->kv->key, item->kv->key_sz, item);
utable_item_stat_add(&table->stat, item->kv);
@@ -414,7 +414,7 @@ void utable_add_cstring_array(struct utable *table, const char *key, const char*
return;
}
item = MEMPOOL_ALLOC(table->mempool ,1, struct utable_item);
item->kv = utable_kv_new_with_cstring_array(key, key_sz, value_array, value_sz, n_value);
item->kv = utable_kv_new_with_cstring_array_from_mempool(table->mempool, key, key_sz, value_array, value_sz, n_value);
HASH_ADD_KEYPTR(hh, table->items, item->kv->key, item->kv->key_sz, item);
utable_item_stat_add(&table->stat, item->kv);
@@ -427,7 +427,7 @@ void utable_delete(struct utable *table, const char *key, size_t key_sz)
if (item) {
HASH_DEL(table->items, item);
utable_item_stat_sub(&table->stat, item->kv);
utable_kv_free(item->kv);
utable_kv_free_from_pool(table->mempool, item->kv);
MEMPOOL_FREE(table->mempool,item);
}
}