commit a570a80ed1606bed43118cb148fc83c3ac22b5c1
parent 4cd0b143801b1135abd2b7012cfed020710a4e68
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date: Thu, 7 Mar 2024 22:35:31 +0100
su: Fix running it without arguments
The commit 8f5a0c3 introduced a regression and the logic
to control the number of arguments was broken after it,
giving an error when su was executed without parameters.
Diffstat:
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/su.c b/su.c
@@ -26,7 +26,7 @@ usage(void)
int
main(int argc, char *argv[])
{
- char *usr = "root", *pass;
+ char *usr, *pass;
char *shell, *envshell, *term;
struct passwd *pw;
char *newargv[3];
@@ -43,9 +43,9 @@ main(int argc, char *argv[])
usage();
} ARGEND;
- if (argc != 1)
+ if (argc > 1)
usage();
- usr = argv[0];
+ usr = argc > 0 ? argv[0] : "root";
errno = 0;
pw = getpwnam(usr);