Skip to content

Commit c3319a0

Browse files
authored
Merge pull request #942 from ldorau/Use_unused_ba_leak_aligned_alloc
Use unused `ba_leak_aligned_alloc()`
2 parents 24e7119 + 98745dd commit c3319a0

File tree

1 file changed

+9
-16
lines changed

1 file changed

+9
-16
lines changed

src/proxy_lib/proxy_lib.c

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -170,13 +170,6 @@ static int get_system_allocator_symbols(void) {
170170
return 0;
171171
}
172172

173-
*((void **)(&System_aligned_alloc)) = NULL;
174-
*((void **)(&System_calloc)) = NULL;
175-
*((void **)(&System_free)) = NULL;
176-
*((void **)(&System_malloc)) = NULL;
177-
*((void **)(&System_malloc_usable_size)) = NULL;
178-
*((void **)(&System_realloc)) = NULL;
179-
180173
return -1;
181174
}
182175
#endif /* _WIN32 */
@@ -323,28 +316,28 @@ static void ba_leak_init_once(void) {
323316
utils_init_once(&Base_alloc_leak_initialized, ba_leak_create);
324317
}
325318

326-
static inline void *ba_leak_malloc(size_t size) {
319+
static inline void *ba_leak_aligned_alloc(size_t alignment, size_t size) {
327320
ba_leak_init_once();
328-
return umf_ba_linear_alloc(Base_alloc_leak, size);
321+
void *ptr = umf_ba_linear_alloc(Base_alloc_leak, size + alignment);
322+
return (void *)ALIGN_UP_SAFE((uintptr_t)ptr, alignment);
323+
}
324+
325+
static inline void *ba_leak_malloc(size_t size) {
326+
return ba_leak_aligned_alloc(0, size);
329327
}
330328

331329
static inline void *ba_leak_calloc(size_t nmemb, size_t size) {
332330
ba_leak_init_once();
333331
// umf_ba_linear_alloc() returns zeroed memory
334-
return umf_ba_linear_alloc(Base_alloc_leak, nmemb * size);
332+
// so ba_leak_aligned_alloc() does too
333+
return ba_leak_aligned_alloc(0, nmemb * size);
335334
}
336335

337336
static inline void *ba_leak_realloc(void *ptr, size_t size, size_t max_size) {
338337
ba_leak_init_once();
339338
return ba_generic_realloc(Base_alloc_leak, ptr, size, max_size);
340339
}
341340

342-
static inline void *ba_leak_aligned_alloc(size_t alignment, size_t size) {
343-
ba_leak_init_once();
344-
void *ptr = umf_ba_linear_alloc(Base_alloc_leak, size + alignment);
345-
return (void *)ALIGN_UP_SAFE((uintptr_t)ptr, alignment);
346-
}
347-
348341
static inline int ba_leak_free(void *ptr) {
349342
ba_leak_init_once();
350343
return umf_ba_linear_free(Base_alloc_leak, ptr);

0 commit comments

Comments
 (0)