From aae794e9bdd5f19019560041479cf7ebc46b4fa5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Thu, 30 Jan 2025 09:06:24 +0100 Subject: [PATCH] xmalloc: add xreallocarray() --- xmalloc.c | 7 +++++++ xmalloc.h | 1 + 2 files changed, 8 insertions(+) diff --git a/xmalloc.c b/xmalloc.c index ded7f4e3..0a67cdb2 100644 --- a/xmalloc.c +++ b/xmalloc.c @@ -36,6 +36,13 @@ xrealloc(void *ptr, size_t size) return unlikely(size == 0) ? alloc : check_alloc(alloc); } +void * +xreallocarray(void *ptr, size_t n, size_t size) +{ + void *alloc = reallocarray(ptr, n, size); + return unlikely(size == 0) ? alloc : check_alloc(alloc); +} + char * xstrdup(const char *str) { diff --git a/xmalloc.h b/xmalloc.h index 8a2c208f..03e6eb0d 100644 --- a/xmalloc.h +++ b/xmalloc.h @@ -12,6 +12,7 @@ void *xmalloc(size_t size) XMALLOC; void *xcalloc(size_t nmemb, size_t size) XMALLOC; void *xrealloc(void *ptr, size_t size); +void *xreallocarray(void *ptr, size_t n, size_t size); char *xstrdup(const char *str) XSTRDUP; char *xstrndup(const char *str, size_t n) XSTRDUP; char *xasprintf(const char *format, ...) PRINTF(1) XMALLOC;