all repos — mgba @ 9eb0c374b3459264d3180f59f033cf9490c0e1ea

mGBA Game Boy Advance Emulator

Util: Disable mmap allocator when running under address sanitizer
Vicki Pfau vi@endrift.com
Wed, 22 Jul 2020 00:13:02 -0700
commit

9eb0c374b3459264d3180f59f033cf9490c0e1ea

parent

0902dbdd398c6d344cda44843566786aaed39ec2

1 files changed, 21 insertions(+), 0 deletions(-)

jump to
M src/platform/posix/memory.csrc/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