From feead2f639506d49cef9dde385eb56cd3413ecf0 Mon Sep 17 00:00:00 2001 From: sgakerru Date: Sat, 19 Oct 2024 13:26:44 +0400 Subject: [PATCH] src/useradd.c: get_groups(): Fix memory leak --- src/useradd.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/useradd.c b/src/useradd.c index 64e7a412..bd3b0624 100644 --- a/src/useradd.c +++ b/src/useradd.c @@ -760,6 +760,15 @@ static int get_groups (char *list) int errors = 0; int ngroups = 0; + /* + * Free previous group list before creating a new one. + */ + int i = 0; + while (NULL != user_groups[i]) { + free(user_groups[i]); + user_groups[i++] = NULL; + } + if ('\0' == *list) { return 0; } -- 2.33.0