diff options
author | Mattias Andrée <maandree@kth.se> | 2018-10-27 12:19:50 +0200 |
---|---|---|
committer | Mattias Andrée <maandree@kth.se> | 2018-10-27 12:21:23 +0200 |
commit | 7de3ced850b04b3aac8260c8fe731c2980417928 (patch) | |
tree | 53ff6cdeb7348835e67881f60927f47337c01161 | |
parent | Remove strndup, it is in POSIX (diff) | |
download | libsimple-7de3ced850b04b3aac8260c8fe731c2980417928.tar.gz libsimple-7de3ced850b04b3aac8260c8fe731c2980417928.tar.bz2 libsimple-7de3ced850b04b3aac8260c8fe731c2980417928.tar.xz |
memdup, aligned_memdup: allocate with size 1 if n is 0
Signed-off-by: Mattias Andrée <maandree@kth.se>
-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); |