skalibs

Mirror/fork of https://skarnet.org/software/skalibs/
git clone https://ccx.te2000.cz/git/skalibs
Log | Files | Refs | README | LICENSE

commit 37b38dadd77079cd7e537f247dcb0a45301e539b
parent 8aae9ebac033ad235ef213c4a3073d7bca9a2611
Author: Laurent Bercot <ska-skaware@skarnet.org>
Date:   Mon, 18 Dec 2023 13:41:53 +0000

 Fix more small UBs

Signed-off-by: Laurent Bercot <ska@appnovation.com>

Diffstat:
Msrc/libstddjb/siovec_gather.c | 2+-
Msrc/libstddjb/stralloc_copyb.c | 1+
2 files changed, 2 insertions(+), 1 deletion(-)

diff --git 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 @@ -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 ;