From 5c8793faf0c3ceee6ca534d0f69b417a3759f7af Mon Sep 17 00:00:00 2001 From: Baptiste Daroussin Date: Sun, 12 Jul 2015 00:02:43 +0000 Subject: Make getarg return NULL if args is NULL --- pw/pw.c | 7 ++++++- pw/pw_user.c | 5 +---- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'pw') diff --git a/pw/pw.c b/pw/pw.c index 3d4fcf2..532d77b 100644 --- a/pw/pw.c +++ b/pw/pw.c @@ -582,7 +582,12 @@ cmdhelp(int mode, int which) struct carg * getarg(struct cargs * _args, int ch) { - struct carg *c = LIST_FIRST(_args); + struct carg *c; + + if (_args == NULL) + return (NULL); + + c = LIST_FIRST(_args); while (c != NULL && c->ch != ch) c = LIST_NEXT(c, list); diff --git a/pw/pw_user.c b/pw/pw_user.c index 315af39..16b2ac8 100644 --- a/pw/pw_user.c +++ b/pw/pw_user.c @@ -874,11 +874,8 @@ pw_gidpolicy(struct cargs * args, char *nam, gid_t prefer) (grp->gr_mem == NULL || grp->gr_mem[0] == NULL)) { gid = grp->gr_gid; /* Already created? Use it anyway... */ } else { - struct cargs grpargs; gid_t grid = -1; - LIST_INIT(&grpargs); - /* * We need to auto-create a group with the user's name. We * can send all the appropriate output to our sister routine @@ -893,7 +890,7 @@ pw_gidpolicy(struct cargs * args, char *nam, gid_t prefer) if (conf.dryrun) { gid = pw_groupnext(cnf, true); } else { - pw_group(M_ADD, nam, grid, &grpargs); + pw_group(M_ADD, nam, grid, NULL); if ((grp = GETGRNAM(nam)) != NULL) gid = grp->gr_gid; } -- cgit v1.2.3-56-ge451