003 File Manager
Current Path:
/usr/src/contrib/llvm-project/compiler-rt/lib/scudo
usr
/
src
/
contrib
/
llvm-project
/
compiler-rt
/
lib
/
scudo
/
📁
..
📄
scudo_allocator.cpp
(30.02 KB)
📄
scudo_allocator.h
(4.54 KB)
📄
scudo_allocator_combined.h
(2.14 KB)
📄
scudo_allocator_secondary.h
(7.03 KB)
📄
scudo_crc32.cpp
(893 B)
📄
scudo_crc32.h
(4.74 KB)
📄
scudo_errors.cpp
(2.82 KB)
📄
scudo_errors.h
(1.31 KB)
📄
scudo_flags.cpp
(4.25 KB)
📄
scudo_flags.h
(805 B)
📄
scudo_flags.inc
(2.11 KB)
📄
scudo_interface_internal.h
(984 B)
📄
scudo_malloc.cpp
(2.2 KB)
📄
scudo_new_delete.cpp
(4.14 KB)
📄
scudo_platform.h
(3.09 KB)
📄
scudo_termination.cpp
(1.36 KB)
📄
scudo_tsd.h
(1.67 KB)
📄
scudo_tsd_exclusive.cpp
(2.17 KB)
📄
scudo_tsd_exclusive.inc
(1.34 KB)
📄
scudo_tsd_shared.cpp
(3.38 KB)
📄
scudo_tsd_shared.inc
(1.61 KB)
📄
scudo_utils.cpp
(4.89 KB)
📄
scudo_utils.h
(986 B)
📁
standalone
Editing: scudo_malloc.cpp
//===-- scudo_malloc.cpp ----------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// /// /// Interceptors for malloc related functions. /// //===----------------------------------------------------------------------===// #include "scudo_allocator.h" #include "interception/interception.h" #include "sanitizer_common/sanitizer_platform_interceptors.h" #include <stddef.h> using namespace __scudo; extern "C" { INTERCEPTOR_ATTRIBUTE void free(void *ptr) { scudoDeallocate(ptr, 0, 0, FromMalloc); } INTERCEPTOR_ATTRIBUTE void *malloc(size_t size) { return scudoAllocate(size, 0, FromMalloc); } INTERCEPTOR_ATTRIBUTE void *realloc(void *ptr, size_t size) { return scudoRealloc(ptr, size); } INTERCEPTOR_ATTRIBUTE void *calloc(size_t nmemb, size_t size) { return scudoCalloc(nmemb, size); } INTERCEPTOR_ATTRIBUTE void *valloc(size_t size) { return scudoValloc(size); } INTERCEPTOR_ATTRIBUTE int posix_memalign(void **memptr, size_t alignment, size_t size) { return scudoPosixMemalign(memptr, alignment, size); } #if SANITIZER_INTERCEPT_CFREE INTERCEPTOR_ATTRIBUTE void cfree(void *ptr) ALIAS("free"); #endif #if SANITIZER_INTERCEPT_MEMALIGN INTERCEPTOR_ATTRIBUTE void *memalign(size_t alignment, size_t size) { return scudoAllocate(size, alignment, FromMemalign); } INTERCEPTOR_ATTRIBUTE void *__libc_memalign(size_t alignment, size_t size) ALIAS("memalign"); #endif #if SANITIZER_INTERCEPT_PVALLOC INTERCEPTOR_ATTRIBUTE void *pvalloc(size_t size) { return scudoPvalloc(size); } #endif #if SANITIZER_INTERCEPT_ALIGNED_ALLOC INTERCEPTOR_ATTRIBUTE void *aligned_alloc(size_t alignment, size_t size) { return scudoAlignedAlloc(alignment, size); } #endif #if SANITIZER_INTERCEPT_MALLOC_USABLE_SIZE INTERCEPTOR_ATTRIBUTE size_t malloc_usable_size(void *ptr) { return scudoMallocUsableSize(ptr); } #endif #if SANITIZER_INTERCEPT_MALLOPT_AND_MALLINFO INTERCEPTOR_ATTRIBUTE int mallopt(int cmd, int value) { return 0; } #endif } // extern "C"
Upload File
Create Folder