aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--auth/auth.c2
-rw-r--r--libshouldbeinlibc/idvec.c3
2 files changed, 3 insertions, 2 deletions
diff --git a/auth/auth.c b/auth/auth.c
index 29c9fd8d..925f790f 100644
--- a/auth/auth.c
+++ b/auth/auth.c
@@ -83,7 +83,7 @@ idvec_copyout (struct idvec *idvec, uid_t **ids, size_t *nids)
{
if (idvec->num > *nids)
*ids = idvec->ids;
- else
+ else if (idvec->num)
memcpy (*ids, idvec->ids, idvec->num * sizeof *ids);
*nids = idvec->num;
}
diff --git a/libshouldbeinlibc/idvec.c b/libshouldbeinlibc/idvec.c
index 63f59f62..84131a62 100644
--- a/libshouldbeinlibc/idvec.c
+++ b/libshouldbeinlibc/idvec.c
@@ -163,7 +163,8 @@ idvec_set_ids (struct idvec *idvec, const uid_t *ids, unsigned num)
err = idvec_ensure (idvec, num);
if (!err)
{
- memcpy (idvec->ids, ids, num * sizeof (uid_t));
+ if (num)
+ memcpy (idvec->ids, ids, num * sizeof (uid_t));
idvec->num = num;
}
return err;