mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-16 17:46:40 +00:00
Revert "[sanitizer] Remove GetCurrentThread nullness checks from Allocate"
This reverts commit 4411d1e3926d67c393e6a7bdb910bbe77507ff26 for breaking Darwin bots: AddressSanitizer-Unit :: ./Asan-x86_64-calls-Noinst-Test/10/16 AddressSanitizer-Unit :: ./Asan-x86_64-calls-Noinst-Test/12/16 AddressSanitizer-Unit :: ./Asan-x86_64-calls-Noinst-Test/13/16 AddressSanitizer-Unit :: ./Asan-x86_64-inline-Noinst-Test/10/16 AddressSanitizer-Unit :: ./Asan-x86_64-inline-Noinst-Test/12/16 AddressSanitizer-Unit :: ./Asan-x86_64-inline-Noinst-Test/13/16 AddressSanitizer-Unit :: ./Asan-x86_64h-calls-Noinst-Test/10/16 AddressSanitizer-Unit :: ./Asan-x86_64h-calls-Noinst-Test/12/16 AddressSanitizer-Unit :: ./Asan-x86_64h-calls-Noinst-Test/13/16 AddressSanitizer-Unit :: ./Asan-x86_64h-inline-Noinst-Test/10/16 AddressSanitizer-Unit :: ./Asan-x86_64h-inline-Noinst-Test/12/16 AddressSanitizer-Unit :: ./Asan-x86_64h-inline-Noinst-Test/13/16
This commit is contained in:
parent
1d5c2ad4f1
commit
16f4e85860
@ -576,8 +576,15 @@ struct Allocator {
|
||||
}
|
||||
|
||||
AsanThread *t = GetCurrentThread();
|
||||
void *allocated = allocator.Allocate(
|
||||
GetAllocatorCache(&t->malloc_storage()), needed_size, 8);
|
||||
void *allocated;
|
||||
if (t) {
|
||||
AllocatorCache *cache = GetAllocatorCache(&t->malloc_storage());
|
||||
allocated = allocator.Allocate(cache, needed_size, 8);
|
||||
} else {
|
||||
SpinMutexLock l(&fallback_mutex);
|
||||
AllocatorCache *cache = &fallback_allocator_cache;
|
||||
allocated = allocator.Allocate(cache, needed_size, 8);
|
||||
}
|
||||
if (UNLIKELY(!allocated)) {
|
||||
SetAllocatorOutOfMemory();
|
||||
if (AllocatorMayReturnNull())
|
||||
|
@ -199,8 +199,15 @@ static void *MsanAllocate(BufferedStackTrace *stack, uptr size, uptr alignment,
|
||||
ReportRssLimitExceeded(stack);
|
||||
}
|
||||
MsanThread *t = GetCurrentThread();
|
||||
void *allocated = allocator.Allocate(GetAllocatorCache(&t->malloc_storage()),
|
||||
size, alignment);
|
||||
void *allocated;
|
||||
if (t) {
|
||||
AllocatorCache *cache = GetAllocatorCache(&t->malloc_storage());
|
||||
allocated = allocator.Allocate(cache, size, alignment);
|
||||
} else {
|
||||
SpinMutexLock l(&fallback_mutex);
|
||||
AllocatorCache *cache = &fallback_allocator_cache;
|
||||
allocated = allocator.Allocate(cache, size, alignment);
|
||||
}
|
||||
if (UNLIKELY(!allocated)) {
|
||||
SetAllocatorOutOfMemory();
|
||||
if (AllocatorMayReturnNull())
|
||||
|
Loading…
x
Reference in New Issue
Block a user