newgrp: fix memory leak [coverity scan]

Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Karel Zak 2021-06-11 15:10:22 +02:00
parent fb9ed3b409
commit 777fe9f512
1 changed files with 5 additions and 3 deletions

View File

@ -123,7 +123,7 @@ static int allow_setgid(const struct passwd *pe, const struct group *ge)
{
char **look;
int notfound = 1;
char *pwd, *xpwd;
char *pwd, *xpwd, *spwd;
if (getuid() == 0)
/* root may do anything */
@ -144,8 +144,8 @@ static int allow_setgid(const struct passwd *pe, const struct group *ge)
* as in /etc/passwd */
/* check /etc/gshadow */
if (!(pwd = get_gshadow_pwd(ge->gr_name)))
pwd = ge->gr_passwd;
spwd = get_gshadow_pwd(ge->gr_name);
pwd = spwd ? spwd : ge->gr_passwd;
if (pwd && *pwd && (xpwd = xgetpass(stdin, _("Password: ")))) {
char *cbuf = crypt(xpwd, pwd);
@ -162,6 +162,8 @@ static int allow_setgid(const struct passwd *pe, const struct group *ge)
return TRUE;
}
free(spwd);
/* default to denial */
return FALSE;
}