From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2155) id 8BB1B385828C; Sat, 24 Feb 2024 12:14:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8BB1B385828C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1708776843; bh=CHX5TixsYZ/U3f8doZYoYFCvFpcWdRU2DzlaXtvNZ2g=; h=From:To:Subject:Date:From; b=VE/7l8L0PjWN1oj9R1VSbOUXmq1XoUqCSRkTDdbqykU7JEmBHw9lo1JDESex5R8Ot Pdjk4TzHvA9mDrj/4aQALMuHc3HQuGyoVmmvSfssAr+F4RHBqfmsUL8jRz9n/E+yKt aSUCA0tbqlavxZouV3qXWn248XaDU6kItdvjnuVE= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Corinna Vinschen To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin/main] Cygwin: newgrp: fix invalid usage of argv X-Act-Checkin: newlib-cygwin X-Git-Author: Corinna Vinschen X-Git-Refname: refs/heads/main X-Git-Oldrev: 3e16e86a569950fcddc3d6a55e54cdae00634d6e X-Git-Newrev: 808a95d24d6aff7191b4ba4710213f283c5e6379 Message-Id: <20240224121403.8BB1B385828C@sourceware.org> Date: Sat, 24 Feb 2024 12:14:03 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dnewlib-cygwin.git;h=3D808a95d24d6= aff7191b4ba4710213f283c5e6379 commit 808a95d24d6aff7191b4ba4710213f283c5e6379 Author: Corinna Vinschen AuthorDate: Sat Feb 24 10:46:54 2024 +0100 Commit: Corinna Vinschen CommitDate: Sat Feb 24 13:08:33 2024 +0100 Cygwin: newgrp: fix invalid usage of argv =20 Fix an error message accessing argv[1] even after it has been potentially moved. Print group name from group DB instead. =20 Fixes: 8bd56ec873453 ("Cygwin: newgrp: first full version") Signed-off-by: Corinna Vinschen Diff: --- winsup/utils/newgrp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/winsup/utils/newgrp.c b/winsup/utils/newgrp.c index 88586352e108..e312a3c51d38 100644 --- a/winsup/utils/newgrp.c +++ b/winsup/utils/newgrp.c @@ -160,6 +160,7 @@ main (int argc, const char **argv) if (argv[1] =3D=3D NULL) { gid =3D pw->pw_gid; + gr =3D getgrgid (gid); } else { @@ -179,7 +180,7 @@ main (int argc, const char **argv) if (setgid (gid) !=3D 0) { fprintf (stderr, "%s: can't switch primary group to '%s'\n", - program_invocation_short_name, argv[1]); + program_invocation_short_name, gr->gr_name); return 2; }