From: whzhe Date: Thu, 17 Dec 2020 08:27:15 +0000 (-0500) Subject: useradd.c:fix memleak in get_groups X-Git-Tag: v4.9~42^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F301%2Fhead;p=thirdparty%2Fshadow.git useradd.c:fix memleak in get_groups Signed-off-by: whzhe --- diff --git a/src/useradd.c b/src/useradd.c index 107e65f85..822b67f57 100644 --- a/src/useradd.c +++ b/src/useradd.c @@ -793,6 +793,7 @@ static int get_groups (char *list) fprintf (stderr, _("%s: group '%s' is a NIS group.\n"), Prog, grp->gr_name); + gr_free(grp); continue; } #endif @@ -801,6 +802,7 @@ static int get_groups (char *list) fprintf (stderr, _("%s: too many groups specified (max %d).\n"), Prog, ngroups); + gr_free(grp); break; } @@ -808,7 +810,7 @@ static int get_groups (char *list) * Add the group name to the user's list of groups. */ user_groups[ngroups++] = xstrdup (grp->gr_name); - free (grp); + gr_free (grp); } while (NULL != list); close_group_files ();