su: Fix running it without arguments The commit 8f5a0c3 introduced a regression… | |
git clone git://git.suckless.org/ubase | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit a570a80ed1606bed43118cb148fc83c3ac22b5c1 | |
parent 4cd0b143801b1135abd2b7012cfed020710a4e68 | |
Author: Roberto E. Vargas Caballero <[email protected]> | |
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: | |
M su.c | 6 +++--- | |
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); |