diff options
author | Tor Egge <Tor.Egge@online.no> | 2021-08-23 10:32:07 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2021-08-23 10:48:48 +0200 |
commit | 942a0038a387c5e66ecfa436e5c07f6ff3c71f74 (patch) | |
tree | 043bf1c95884b1cc25d95502335cec3161d57368 /vespamalloc | |
parent | 387bbb293e60d6eb6054e17c5db937e00da80144 (diff) |
Use dlsym() to get original mmap function address from libc.
Diffstat (limited to 'vespamalloc')
-rw-r--r-- | vespamalloc/src/vespamalloc/malloc/mmap.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/vespamalloc/src/vespamalloc/malloc/mmap.cpp b/vespamalloc/src/vespamalloc/malloc/mmap.cpp index bd67bbef710..3f92097914d 100644 --- a/vespamalloc/src/vespamalloc/malloc/mmap.cpp +++ b/vespamalloc/src/vespamalloc/malloc/mmap.cpp @@ -46,10 +46,8 @@ static bool isFromVespaMalloc(const void * addr) void * local_mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset) { static mmap_function real_func = NULL; - // This is a dirty trick for use with vespamalloc as there can be - // no allocations before the initial mmap from vespamalloc has succeded. if (real_func == NULL) { - real_func = (mmap_function) _dl_sym (RTLD_NEXT, "mmap", __builtin_return_address (0)); + real_func = (mmap_function) dlsym (RTLD_NEXT, "mmap"); if (real_func == NULL) { fprintf (stderr, "Could not find the mmap function!\n"); abort(); |