diff options
author | Baptiste Daroussin <bapt@FreeBSD.org> | 2012-12-27 16:51:29 +0000 |
---|---|---|
committer | Baptiste Daroussin <bapt@FreeBSD.org> | 2012-12-27 16:51:29 +0000 |
commit | dca2732b7d9f3eb818b44fe0038b3d3cf3c07fc2 (patch) | |
tree | 4121d13cdf313ca4aab954ee74717c9d22962873 /libutil | |
parent | dcb35c061edb54776541bad319d4da3448dcb09b (diff) | |
download | pw-darwin-dca2732b7d9f3eb818b44fe0038b3d3cf3c07fc2.tar.gz pw-darwin-dca2732b7d9f3eb818b44fe0038b3d3cf3c07fc2.tar.zst pw-darwin-dca2732b7d9f3eb818b44fe0038b3d3cf3c07fc2.zip |
- Clean up previous gr_add use malloc instead of calloc
- Fix tinderbox error
Submitted by: db
Diffstat (limited to 'libutil')
-rw-r--r-- | libutil/gr_util.c | 7 | ||||
-rw-r--r-- | libutil/libutil.h | 2 |
2 files changed, 4 insertions, 5 deletions
diff --git a/libutil/gr_util.c b/libutil/gr_util.c index 90062eb..0cd8055 100644 --- a/libutil/gr_util.c +++ b/libutil/gr_util.c @@ -482,7 +482,7 @@ gr_dup(const struct group *gr) * Add a new member name to a struct group. */ struct group * -gr_add(struct group *gr, const char *newmember) +gr_add(struct group *gr, char *newmember) { size_t mlen; int num_mem=0; @@ -502,18 +502,17 @@ gr_add(struct group *gr, const char *newmember) } /* Allocate enough for current pointers + 1 more and NULL marker */ mlen = (num_mem + 2) * sizeof(*gr->gr_mem); - if ((members = calloc(1, mlen )) == NULL) { + if ((members = malloc(mlen)) == NULL) { errno = ENOMEM; return (NULL); } memcpy(members, gr->gr_mem, num_mem * sizeof(*gr->gr_mem)); - members[num_mem++] = (char *)newmember; + members[num_mem++] = newmember; members[num_mem] = NULL; gr->gr_mem = members; newgr = gr_dup(gr); if (newgr == NULL) errno = ENOMEM; - free(members); return (newgr); } diff --git a/libutil/libutil.h b/libutil/libutil.h index fcd74e1..b1b2405 100644 --- a/libutil/libutil.h +++ b/libutil/libutil.h @@ -167,7 +167,7 @@ int gr_copy(int __ffd, int _tfd, const struct group *_gr, struct group * gr_dup(const struct group *_gr); struct group * - gr_add(struct group *_gr, const char *_newmember); + gr_add(struct group *_gr, char *_newmember); int gr_equal(const struct group *_gr1, const struct group *_gr2); void gr_fini(void); int gr_init(const char *_dir, const char *_master); |