]> git.ipfire.org Git - thirdparty/dhcp.git/commitdiff
- A bug was fixed in interface discovery wherein an error identifying
authorDavid Hankins <dhankins@isc.org>
Fri, 1 Jun 2007 22:11:49 +0000 (22:11 +0000)
committerDavid Hankins <dhankins@isc.org>
Fri, 1 Jun 2007 22:11:49 +0000 (22:11 +0000)
  a server-configured interface with no IPv4 addresses would SEGV.
  [ISC-Bugs #16896]

RELNOTES
common/discover.c

index eda78b8e33b5383f1e3b80b6b8b73c86adb94f9a..014fdebb05803603f9fb442e59a55bfdc3d818bf 100644 (file)
--- a/RELNOTES
+++ b/RELNOTES
@@ -56,6 +56,8 @@ suggested fixes to <dhcp-users@isc.org>.
 
 - Fix for icmp packets on 64-bit systems (bug introduced in 4.0).
 
+- A bug was fixed in interface discovery wherein an error identifying
+  a server-configured interface with no IPv4 addresses would SEGV.
 
                        Changes since 4.0.0-20070413
 
index e9c7d44c4b9ce752af625dcef5a157de1c462fe3..1fc46b4b5dad2d3e38b154383a110ce28dd125af 100644 (file)
@@ -34,7 +34,7 @@
 
 #ifndef lint
 static char copyright[] =
-"$Id: discover.c,v 1.58 2007/05/19 23:28:38 dhankins Exp $ Copyright (c) 2004-2007 Internet Systems Consortium.  All rights reserved.\n";
+"$Id: discover.c,v 1.59 2007/06/01 22:11:49 dhankins Exp $ Copyright (c) 2004-2007 Internet Systems Consortium.  All rights reserved.\n";
 #endif /* not lint */
 
 #include "dhcpd.h"
@@ -1054,7 +1054,9 @@ discover_interfaces(int state) {
                        if (local_family == AF_INET) {
                                log_error("No subnet declaration for %s (%s).",
                                          tmp->name, 
-                                         inet_ntoa(tmp->addresses[0]));
+                                         (tmp->addresses == NULL) ?
+                                          "no IPv4 addresses" :
+                                          inet_ntoa(tmp->addresses[0]));
 #ifdef DHCPv6
                        } else {
                                if (tmp->v6addresses != NULL) {
@@ -1063,7 +1065,7 @@ discover_interfaces(int state) {
                                                  abuf,
                                                  sizeof(abuf));
                                } else {
-                                       strcpy(abuf, "no addresses");
+                                       strcpy(abuf, "no IPv6 addresses");
                                }
                                log_error("No subnet declaration for %s (%s).",
                                          tmp->name,