diff options
-rw-r--r-- | aligned_memdup.c | 4 | ||||
-rw-r--r-- | memdup.c | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/aligned_memdup.c b/aligned_memdup.c index 2dbba7b..d66a846 100644 --- a/aligned_memdup.c +++ b/aligned_memdup.c @@ -6,7 +6,9 @@ void * libsimple_aligned_memdup(const void *s, size_t alignment, size_t n) { - void *ret = aligned_alloc(alignment, n + (alignment - n % alignment) % alignment); + void *ret; + n = n ? n : 1; + ret = aligned_alloc(alignment, n + (alignment - n % alignment) % alignment); if (!ret) return NULL; return memcpy(ret, s, n); @@ -6,7 +6,7 @@ void * libsimple_memdup(const void *s, size_t n) { - void *ret = malloc(n); + void *ret = malloc(n ? n : (size_t)1); if (!ret) return NULL; return memcpy(ret, s, n); |