summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libstddjb/siovec_gather.c2
-rw-r--r--src/libstddjb/stralloc_copyb.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/libstddjb/siovec_gather.c b/src/libstddjb/siovec_gather.c
index a037b0c..4288141 100644
--- a/src/libstddjb/siovec_gather.c
+++ b/src/libstddjb/siovec_gather.c
@@ -12,7 +12,7 @@ size_t siovec_gather (struct iovec const *v, unsigned int n, char *s, size_t max
{
size_t len = v[i].iov_len ;
if (len > max - w) len = max - w ;
- memmove(s + w, v[i].iov_base, len) ;
+ if (len) memmove(s + w, v[i].iov_base, len) ;
w += len ;
}
return w ;
diff --git a/src/libstddjb/stralloc_copyb.c b/src/libstddjb/stralloc_copyb.c
index 26c3a4c..f32c3e5 100644
--- a/src/libstddjb/stralloc_copyb.c
+++ b/src/libstddjb/stralloc_copyb.c
@@ -5,6 +5,7 @@
int stralloc_copyb (stralloc *sa, char const *s, size_t n)
{
+ if (!n) return 1 ;
if (!stralloc_ready(sa, n)) return 0 ;
memmove(sa->s, s, n) ;
sa->len = n ;