From fd9d79a1a3438ba7703939cfcd45fc266782c64e Mon Sep 17 00:00:00 2001 From: whzhe Date: Thu, 17 Dec 2020 03:27:15 -0500 Subject: [PATCH] useradd.c:fix memleak in get_groups Signed-off-by: whzhe --- src/useradd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/useradd.c b/src/useradd.c index 107e65f8..822b67f5 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 ();