summaryrefslogtreecommitdiff
path: root/common/discover.c
diff options
context:
space:
mode:
authorMurray <source@isc.org>2002-06-09 22:49:51 +0000
committerMurray <source@isc.org>2002-06-09 22:49:51 +0000
commit066bd4d54758d07b1a7dc1761dd76c13ce7a3d4e (patch)
tree4d0c603baa5e2d0ea4645d0b2b01d76297b1e871 /common/discover.c
parent7d1223521e8d2bc9f5df613cdf111287ae13e4b6 (diff)
downloadisc-dhcp-066bd4d54758d07b1a7dc1761dd76c13ce7a3d4e.tar.gz
Merge from branch - possibly avoid null-pointer dereference.
Diffstat (limited to 'common/discover.c')
-rw-r--r--common/discover.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/common/discover.c b/common/discover.c
index c11abb9c..b11bb095 100644
--- a/common/discover.c
+++ b/common/discover.c
@@ -43,7 +43,7 @@
#ifndef lint
static char copyright[] =
-"$Id: discover.c,v 1.44 2001/06/27 00:29:44 mellon Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n";
+"$Id: discover.c,v 1.45 2002/06/09 22:49:51 murray Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -407,8 +407,11 @@ void discover_interfaces (state)
name, isc_result_totext (status));
tmp -> flags = ir;
strncpy (tmp -> name, name, IFNAMSIZ);
- interface_reference (&tmp -> next, interfaces, MDL);
- interface_dereference (&interfaces, MDL);
+ if (interfaces) {
+ interface_reference (&tmp -> next,
+ interfaces, MDL);
+ interface_dereference (&interfaces, MDL);
+ }
interface_reference (&interfaces, tmp, MDL);
interface_dereference (&tmp, MDL);
tmp = interfaces;