summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorOleksandr Natalenko <oleksandr@natalenko.name>2017-01-02 20:54:08 +0100
committerFlorian Westphal <fw@strlen.de>2017-01-03 02:42:14 +0100
commit87efdaf0a7a804cda24749246b26772bbdcaef5e (patch)
treeb76853ba014746b359b79371852f1d36115e586e /src
parentf2fb89ebb622b49186dc9c76f9fcb76f57c35624 (diff)
utils: provide array allocation wrapper
This will be used for allocating memory for arrays in heap instead of keeping them on stack. Signed-off-by: Oleksandr Natalenko <oleksandr@natalenko.name> Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'src')
-rw-r--r--src/utils.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/utils.c b/src/utils.c
index 65dabf41..47f5b791 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -39,6 +39,17 @@ void *xmalloc(size_t size)
return ptr;
}
+void *xmalloc_array(size_t nmemb, size_t size)
+{
+ assert(size != 0);
+ assert(nmemb != 0);
+
+ if (nmemb > SIZE_MAX / size)
+ memory_allocation_error();
+
+ return xmalloc(nmemb * size);
+}
+
void *xrealloc(void *ptr, size_t size)
{
ptr = realloc(ptr, size);