diff options
-rw-r--r-- | auth/auth.c | 2 | ||||
-rw-r--r-- | libshouldbeinlibc/idvec.c | 3 |
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; |