}
if (!kid) {
/* we are the child, exec the program */
- char *argv[4], fdstr[32];
+ char *argv[5], fdstr[32];
sys_close();
closelog();
close(p[0]);
}
readgood += red;
} while (readgood < MAXSECRETLEN - 1);
- passwd[readgood] = 0;
close(p[0]);
/* now wait for child to exit */
if (readgood < 0)
return 0;
+ passwd[readgood] = 0;
if (!WIFEXITED(wstat))
warn("%s terminated abnormally", promptprog);
if (WEXITSTATUS(wstat))