@@ -170,13 +170,6 @@ static int get_system_allocator_symbols(void) {
170
170
return 0 ;
171
171
}
172
172
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
-
180
173
return -1 ;
181
174
}
182
175
#endif /* _WIN32 */
@@ -323,28 +316,28 @@ static void ba_leak_init_once(void) {
323
316
utils_init_once (& Base_alloc_leak_initialized , ba_leak_create );
324
317
}
325
318
326
- static inline void * ba_leak_malloc ( size_t size ) {
319
+ static inline void * ba_leak_aligned_alloc ( size_t alignment , size_t size ) {
327
320
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 );
329
327
}
330
328
331
329
static inline void * ba_leak_calloc (size_t nmemb , size_t size ) {
332
330
ba_leak_init_once ();
333
331
// 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 );
335
334
}
336
335
337
336
static inline void * ba_leak_realloc (void * ptr , size_t size , size_t max_size ) {
338
337
ba_leak_init_once ();
339
338
return ba_generic_realloc (Base_alloc_leak , ptr , size , max_size );
340
339
}
341
340
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
-
348
341
static inline int ba_leak_free (void * ptr ) {
349
342
ba_leak_init_once ();
350
343
return umf_ba_linear_free (Base_alloc_leak , ptr );
0 commit comments