git: 1e25eb287f3f - main - login: Missed an instance of getpwnam().

From: Dag-Erling Smørgrav <des_at_FreeBSD.org>
Date: Fri, 12 Jan 2024 16:41:07 UTC
The branch main has been updated by des:

URL: https://cgit.FreeBSD.org/src/commit/?id=1e25eb287f3fdd763df98065dbf2e1eb201e4000

commit 1e25eb287f3fdd763df98065dbf2e1eb201e4000
Author:     Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2024-01-12 16:40:55 +0000
Commit:     Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2024-01-12 16:40:55 +0000

    login: Missed an instance of getpwnam().
    
    Fixes:          a3d80dd8aa6ac15877e00102ab174b417ac81d79
    MFC after:      1 week
    Sponsored by:   Klara, Inc.
    Reviewed by:    allanjude
    Differential Revision:  https://reviews.freebsd.org/D43423
---
 usr.bin/login/login.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/usr.bin/login/login.c b/usr.bin/login/login.c
index 5b4fa55dc541..6a0c6a5b6bbc 100644
--- a/usr.bin/login/login.c
+++ b/usr.bin/login/login.c
@@ -704,8 +704,10 @@ auth_pam(void)
 		pam_err = pam_get_item(pamh, PAM_USER, &item);
 		if (pam_err == PAM_SUCCESS) {
 			tmpl_user = (const char *)item;
-			if (strcmp(username, tmpl_user) != 0)
-				pwd = getpwnam(tmpl_user);
+			if (strcmp(username, tmpl_user) != 0) {
+				(void)getpwnam_r(tmpl_user, &pwres, pwbuf,
+				    sizeof(pwbuf), &pwd);
+			}
 		} else {
 			pam_syslog("pam_get_item(PAM_USER)");
 		}