use bb_sanitize_stdio() where appropriate

This commit is contained in:
Denis Vlasenko
2007-01-27 22:21:12 +00:00
parent cd75a96f0f
commit e06bed30cf
5 changed files with 26 additions and 35 deletions

View File

@@ -1040,10 +1040,8 @@ traceroute_main(int argc, char *argv[])
bb_show_usage();
}
/* Insure the socket fds won't be 0, 1 or 2 */
do n = xopen(bb_dev_null, O_RDONLY); while (n < 2);
while (n > 2)
close(n--);
/* Ensure the socket fds won't be 0, 1 or 2 */
bb_sanitize_stdio();
s = xsocket(AF_INET, SOCK_RAW, IPPROTO_ICMP);

View File

@@ -22,20 +22,6 @@ long uptime(void)
return info.uptime;
}
/*
* This function makes sure our first socket calls
* aren't going to fd 1 (printf badness...) and are
* not later closed by daemon()
*/
static inline void sanitize_fds(void)
{
int fd = xopen(bb_dev_null, O_RDWR);
while (fd < 3)
fd = dup(fd);
close(fd);
}
void udhcp_background(const char *pidfile)
{
#ifdef __uClinux__
@@ -57,7 +43,7 @@ void udhcp_start_log_and_pid(const char *pidfile)
int pid_fd;
/* Make sure our syslog fd isn't overwritten */
sanitize_fds();
bb_sanitize_stdio();
/* do some other misc startup stuff while we are here to save bytes */
pid_fd = pidfile_acquire(pidfile);