From 79c573c4d9d9b6134d9adbf3db1d20dda2ce5a20 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Thu, 16 Dec 2021 07:59:39 +0000 Subject: [PATCH] netbsd reallocarr updates errno handling. --- src/alloc-posix.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/alloc-posix.c b/src/alloc-posix.c index 2eaede07..212fbd50 100644 --- a/src/alloc-posix.c +++ b/src/alloc-posix.c @@ -98,10 +98,15 @@ void* mi_reallocarray( void* p, size_t count, size_t size ) mi_attr_noexcept { int mi_reallocarr( void* p, size_t count, size_t size ) mi_attr_noexcept { // NetBSD mi_assert(p != NULL); - if (p == NULL) return EINVAL; // should we set errno as well? + if (p == NULL) { + errno = EINVAL; + return errno; + } + int s_errno = errno; void** op = (void**)p; void* newp = mi_reallocarray(*op, count, size); - if (mi_unlikely(newp == NULL)) return errno; + if (mi_unlikely(newp == NULL)) { return errno; } + errno = s_errno; *op = newp; return 0; }