Skip to content

Commit 7c52a0d

Browse files
committed
Use align_ptr_size_left() in base allocator
Signed-off-by: Lukasz Dorau <[email protected]>
1 parent 512a295 commit 7c52a0d

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/base_alloc/base_alloc.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ umf_ba_pool_t *umf_ba_create(size_t size) {
144144
char *data_ptr = (char *)&pool->data;
145145
size_t size_left = pool_size - offsetof(umf_ba_pool_t, data);
146146

147+
align_ptr_size((void **)&data_ptr, &size_left, MEMORY_ALIGNMENT);
148+
147149
// allocate and init free_lock
148150
pool->metadata.free_lock = util_mutex_init(data_ptr);
149151
if (!pool->metadata.free_lock) {
@@ -178,9 +180,12 @@ void *umf_ba_alloc(umf_ba_pool_t *pool) {
178180
pool->metadata.n_pools++;
179181
#endif /* NDEBUG */
180182

181-
size_t size =
183+
char *data_ptr = (char *)&new_pool->data;
184+
size_t size_left =
182185
pool->metadata.pool_size - offsetof(umf_ba_next_pool_t, data);
183-
ba_divide_memory_into_chunks(pool, &new_pool->data, size);
186+
187+
align_ptr_size((void **)&data_ptr, &size_left, MEMORY_ALIGNMENT);
188+
ba_divide_memory_into_chunks(pool, data_ptr, size_left);
184189
}
185190

186191
umf_ba_chunk_t *chunk = pool->metadata.free_list;

0 commit comments

Comments
 (0)