← Commit list

adff40e80

Denis Vlasenko
Denis Vlasenko
2006-09-03
SOURCE BUG Duration: 34s

Subject

sulogin: fix bug: -tNNN didn't work

SOURCE BUG

This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)

→ Bu hatanin tam hikayesini ve duzeltme diffini gor

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

loginutils/sulogin.c+5 -4
@@ -52,7 +52,7 @@ static void catchalarm(int ATTRIBUTE_UNUSED junk)
int sulogin_main(int argc, char **argv)
{
char *cp;
- char *device = (char *) 0;
+ char *device = NULL;
const char *name = "root";
int timeout = 0;
@@ -68,14 +68,15 @@ int sulogin_main(int argc, char **argv)
openlog("sulogin", LOG_PID | LOG_CONS | LOG_NOWAIT, LOG_AUTH);
if (argc > 1) {
if (strncmp(argv[1], "-t", 2) == 0) {
- if (strcmp(argv[1], "-t") == 0) {
+ if (argv[1][2] == '\0') { /* -t NN */
if (argc > 2) {
timeout = atoi(argv[2]);
if (argc > 3) {
device = argv[3];
}
}
- } else {
+ } else { /* -tNNN */
+ timeout = atoi(&argv[1][2]);
if (argc > 2) {
device = argv[2];
}
@@ -87,7 +88,7 @@ int sulogin_main(int argc, char **argv)
close(0);
close(1);
close(2);
- if (open(device, O_RDWR) >= 0) {
+ if (open(device, O_RDWR) == 0) {
dup(0);
dup(0);
} else {