Index: initscripts/initscripts-5.00/src/initlog.c diff -u initscripts-5.00/src/initlog.c:1.1.1.1 initscripts-5.00/src/initlog.c:1.1.1.1.2.1 --- initscripts-5.00/src/initlog.c:1.1.1.1 Thu Jul 20 14:58:22 2000 +++ initscripts-5.00/src/initlog.c Thu Jul 20 15:08:49 2000 @@ -233,8 +233,9 @@ if (cmd) { logentry.cmd = strdup(basename(cmd)); - if ((logentry.cmd[0] =='K' || logentry.cmd[0] == 'S') && ( 30 <= logentry.cmd[1] <= 39 ) - && ( 30 <= logentry.cmd[2] <= 39 ) ) + if ((logentry.cmd[0] =='K' || logentry.cmd[0] == 'S') + && 30 <= logentry.cmd[1] && logentry.cmd[1] <= 39 + && 30 <= logentry.cmd[2] && logentry.cmd[2] <= 39) logentry.cmd+=3; } else logentry.cmd = strdup(_("(none)")); @@ -259,8 +260,9 @@ if (cmd) { logentry.cmd = strdup(basename(cmd)); - if ((logentry.cmd[0] =='K' || logentry.cmd[0] == 'S') && ( 30 <= logentry.cmd[1] <= 39 ) - && ( 30 <= logentry.cmd[2] <= 39 ) ) + if ((logentry.cmd[0] =='K' || logentry.cmd[0] == 'S') + && 30 <= logentry.cmd[1] && logentry.cmd[1] <= 39 + && 30 <= logentry.cmd[2] && logentry.cmd[2] <= 39) logentry.cmd+=3; } else logentry.cmd = strdup(_("")); @@ -313,7 +315,7 @@ { "quiet", 'q', POPT_ARG_NONE, &quiet, 0, "suppress stdout/stderr", NULL }, - { 0, 0, 0, 0, 0, 0 } + { 0, 0, 0, 0, 0, 0, 0 } }; context = poptGetContext("initlog", argc, argv, optTable, 0); Index: initscripts/initscripts-5.00/src/process.c diff -u initscripts-5.00/src/process.c:1.1.1.1 initscripts-5.00/src/process.c:1.1.1.1.2.1 --- initscripts-5.00/src/process.c:1.1.1.1 Thu Jul 20 14:58:22 2000 +++ initscripts-5.00/src/process.c Thu Jul 20 15:08:49 2000 @@ -22,7 +22,7 @@ int forkCommand(char **args, int *outfd, int *errfd, int *cmdfd, int quiet) { /* Fork command 'cmd', returning pid, and optionally pointer * to open file descriptor fd */ - int fdout, fderr, fdcmd, pid; + int fdout = -1, fderr = -1, fdcmd, pid; int outpipe[2], errpipe[2], fdpipe[2]; int ourpid; @@ -62,8 +62,10 @@ * fucks up and we segfault or something, we don't kill rc.sysinit. */ if ( (cmdfd&&!pid) || (pid &&!cmdfd)) { /* parent */ - close(fdout); - close(fderr); + if (fdout != -1) + close(fdout); + if (fderr != -1) + close(fderr); close(fdcmd); if (!pid) return ourpid; @@ -98,8 +100,10 @@ perror("dup2"); exit(-1); } - close(fdout); - close(fderr); + if (fdout != -1) + close(fdout); + if (fderr != -1) + close(fderr); close(fdcmd); if (outfd) close(*outfd);