From: Ted Lemon Date: Thu, 5 Apr 2001 22:44:23 +0000 (+0000) Subject: Make sure we have a stdin, stdout and stderr. X-Git-Tag: V3-BETA-2-PATCH-24~10 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dfb6c5aa43999b1ce86b55b370af469fb7afd30d;p=thirdparty%2Fdhcp.git Make sure we have a stdin, stdout and stderr. --- diff --git a/relay/dhcrelay.c b/relay/dhcrelay.c index daadec68a..bb1302e2b 100644 --- a/relay/dhcrelay.c +++ b/relay/dhcrelay.c @@ -3,7 +3,7 @@ DHCP/BOOTP Relay Agent. */ /* - * Copyright (c) 1997-2000 Internet Software Consortium. + * Copyright (c) 1997-2001 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -43,7 +43,7 @@ #ifndef lint static char ocopyright[] = -"$Id: dhcrelay.c,v 1.50 2001/02/26 22:21:14 mellon Exp $ Copyright (c) 1997-2000 Internet Software Consortium. All rights reserved.\n"; +"$Id: dhcrelay.c,v 1.51 2001/04/05 22:44:23 mellon Exp $ Copyright (c) 1997-2000 Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" @@ -124,6 +124,16 @@ int main (argc, argv, envp) isc_result_t status; char *s; + /* Make sure we have stdin, stdout and stderr. */ + i = open ("/dev/null", O_RDWR); + if (i == 0) + i = open ("/dev/null", O_RDWR); + if (i == 1) { + i = open ("/dev/null", O_RDWR); + log_perror = 0; /* No sense logging to /dev/null. */ + } else if (i != -1) + close (i); + #ifdef SYSLOG_4_2 openlog ("dhcrelay", LOG_NDELAY); log_priority = LOG_DAEMON;