diff options
Diffstat (limited to 'hicn-light/src/hicn/base/pool.c')
-rw-r--r-- | hicn-light/src/hicn/base/pool.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/hicn-light/src/hicn/base/pool.c b/hicn-light/src/hicn/base/pool.c index cb650b9e5..a7c50963d 100644 --- a/hicn-light/src/hicn/base/pool.c +++ b/hicn-light/src/hicn/base/pool.c @@ -116,7 +116,7 @@ _pool_resize(void ** pool_ptr, size_t elt_size) vector_len(ph->free_indices) = old_size; /* We also need to update the bitmap */ - bitmap_ensure_pos(ph->free_bitmap, new_size - 1); + bitmap_ensure_pos(&(ph->free_bitmap), new_size - 1); bitmap_set_range(ph->free_bitmap, old_size, new_size - 1); /* Reassign pool pointer */ @@ -143,8 +143,8 @@ _pool_get(void ** pool_ptr, void ** elt, size_t elt_size) off_t free_id = ph->free_indices[l - 1]; vector_len(ph->free_indices)--; bitmap_unset(ph->free_bitmap, free_id); - *elt = *pool_ptr + free_id; - memset(*elt, 0, sizeof(elt)); + *elt = *pool_ptr + free_id * elt_size; + memset(*elt, 0, elt_size); return free_id; } |