diff options
author | Oleksandr Natalenko <oleksandr@natalenko.name> | 2017-01-02 20:54:08 +0100 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2017-01-03 02:42:14 +0100 |
commit | 87efdaf0a7a804cda24749246b26772bbdcaef5e (patch) | |
tree | b76853ba014746b359b79371852f1d36115e586e /src/utils.c | |
parent | f2fb89ebb622b49186dc9c76f9fcb76f57c35624 (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/utils.c')
-rw-r--r-- | src/utils.c | 11 |
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); |