fix regression from 2d549662be
That commit introduced read-only keys, but when the hash table was resized, that attribute was not preserved. This resulted in an invalid free at time of table destruction.
This commit is contained in:
@@ -506,7 +506,9 @@ void lh_table_resize(struct lh_table *t, int new_size)
|
|||||||
new_t = lh_table_new(new_size, NULL, t->hash_fn, t->equal_fn);
|
new_t = lh_table_new(new_size, NULL, t->hash_fn, t->equal_fn);
|
||||||
ent = t->head;
|
ent = t->head;
|
||||||
while(ent) {
|
while(ent) {
|
||||||
lh_table_insert(new_t, ent->k, ent->v);
|
lh_table_insert_w_hash(new_t, ent->k, ent->v,
|
||||||
|
lh_get_hash(new_t, ent->k),
|
||||||
|
(ent->k_is_constant) ? JSON_C_OBJECT_KEY_IS_CONSTANT : 0 );
|
||||||
ent = ent->next;
|
ent = ent->next;
|
||||||
}
|
}
|
||||||
free(t->table);
|
free(t->table);
|
||||||
|
|||||||
Reference in New Issue
Block a user