summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/hashtable.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/hashtable.c b/lib/hashtable.c
index f9f9873..98d9805 100644
--- a/lib/hashtable.c
+++ b/lib/hashtable.c
@@ -79,12 +79,12 @@ int hashtable_put(HashTable ht, char* key, void* val, size_t val_size) {
 	int index = hash(key, ht_impl->capacity);
 	HashTableBucket* bucket = &ht_impl->buckets[index];
 
-
 	//TODO: reuse the deleted?
 	for (int i = 0; i < bucket->length; ++i) {
 		HashTableData* data = &bucket->data[i];
 		if (strcmp(data->key, key) == 0) {
-			data->data = val;
+			data->data = realloc(data->data, val_size);
+			memcpy(data->data, val, val_size);
 			data->deleted = 0;
 			return 0;
 		}