aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--aligned_memdup.c4
-rw-r--r--memdup.c2
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);
diff --git a/memdup.c b/memdup.c
index 9c681e2..a1d0959 100644
--- a/memdup.c
+++ b/memdup.c
@@ -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);