From 0eeddda2c84b13158bfda1505e5ff2467dec08f0 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sat, 1 Oct 2022 16:10:09 +0100 Subject: [PATCH] libdislocator adding netbsd's reallocarr --- utils/libdislocator/libdislocator.so.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/utils/libdislocator/libdislocator.so.c b/utils/libdislocator/libdislocator.so.c index a6d8ecfd..638735ef 100644 --- a/utils/libdislocator/libdislocator.so.c +++ b/utils/libdislocator/libdislocator.so.c @@ -510,6 +510,24 @@ __attribute__((alloc_size(2, 3))) void *reallocarray(void *ptr, size_t elem_len, } +int reallocarr(void *ptr, size_t elem_len, size_t elem_cnt) { + + void *ret = NULL; + const size_t elem_tot = elem_len * elem_cnt; + + if (elem_tot == 0) { + + void **h = &ptr; + *h = ret; + return 0; + + } + + ret = reallocarray(ptr, elem_len, elem_cnt); + return ret ? 0 : -1; + +} + #if defined(__APPLE__) size_t malloc_size(const void *ptr) {