aboutsummaryrefslogtreecommitdiff
path: root/contrib/isc-dhcp/common/discover.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/isc-dhcp/common/discover.c')
-rw-r--r--contrib/isc-dhcp/common/discover.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/contrib/isc-dhcp/common/discover.c b/contrib/isc-dhcp/common/discover.c
index c52ecdb89303..bb820a38e5b1 100644
--- a/contrib/isc-dhcp/common/discover.c
+++ b/contrib/isc-dhcp/common/discover.c
@@ -43,7 +43,7 @@
#ifndef lint
static char copyright[] =
-"$Id: discover.c,v 1.42.2.9 2002/03/12 06:46:17 mellon Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n";
+"$Id: discover.c,v 1.42.2.12 2002/11/03 04:31:55 dhankins Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -540,8 +540,12 @@ void discover_interfaces (state)
if (tmp -> next)
interface_reference (&next, tmp -> next, MDL);
/* skip interfaces that are running already */
- if (tmp -> flags & INTERFACE_RUNNING)
+ if (tmp -> flags & INTERFACE_RUNNING) {
+ interface_dereference(&tmp, MDL);
+ if(next)
+ interface_reference(&tmp, next, MDL);
continue;
+ }
if ((tmp -> flags & INTERFACE_AUTOMATIC) &&
state == DISCOVER_REQUESTED)
tmp -> flags &= ~(INTERFACE_AUTOMATIC |