Util: Disable mmap allocator when running under address sanitizer
Vicki Pfau vi@endrift.com
Wed, 22 Jul 2020 00:13:02 -0700
1 files changed,
21 insertions(+),
0 deletions(-)
jump to
M
src/platform/posix/memory.c
→
src/platform/posix/memory.c
@@ -5,6 +5,17 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include <mgba-util/memory.h> +#ifndef DISABLE_ANON_MMAP +#ifdef __SANITIZE_ADDRESS__ +#define DISABLE_ANON_MMAP +#elif defined(__has_feature) +#if __has_feature(address_sanitizer) +#define DISABLE_ANON_MMAP +#endif +#endif +#endif + +#ifndef DISABLE_ANON_MMAP #include <sys/mman.h> void* anonymousMemoryMap(size_t size) {@@ -14,3 +25,13 @@
void mappedMemoryFree(void* memory, size_t size) { munmap(memory, size); } +#else +void* anonymousMemoryMap(size_t size) { + return calloc(1, size); +} + +void mappedMemoryFree(void* memory, size_t size) { + UNUSED(size); + free(memory); +} +#endif