GET_STACK_TRACE_FREE;
if (UNLIKELY(IsInDlsymAllocPool(ptr)))
return;
- if (UNLIKELY(!asan_pointer_is_mine(ptr)))
- MAYBE_FORWARD_TO_REAL(free, ptr);
+ if (UNLIKELY(!asan_pointer_is_mine(ptr))) {
+ REAL(free)(ptr);
+ return;
+ }
asan_free(ptr, &stack, FROM_MALLOC);
}
GET_STACK_TRACE_FREE;
if (UNLIKELY(IsInDlsymAllocPool(ptr)))
return;
- if (UNLIKELY(!asan_pointer_is_mine(ptr)))
- MAYBE_FORWARD_TO_REAL(cfree, ptr);
+ if (UNLIKELY(!asan_pointer_is_mine(ptr))) {
+ REAL(cfree)(ptr);
+ return;
+ }
asan_free(ptr, &stack, FROM_MALLOC);
}
if (UNLIKELY(asan_init_is_running))
return AllocateFromLocalPool(size);
ENSURE_ASAN_INITED();
- if (UNLIKELY(!asan_pointer_is_mine(ptr)))
- MAYBE_FORWARD_TO_REAL(realloc, ptr, size);
+ if (UNLIKELY(!asan_pointer_is_mine(ptr))) {
+ return REAL(realloc)(ptr, size);
+ }
GET_STACK_TRACE_MALLOC;
return asan_realloc(ptr, size, &stack);
}