rpms/dhcp/devel dhcp-4.1.0-missing-ipv6-not-fatal.patch,1.1,1.2

David Cantrell dcantrel at fedoraproject.org
Wed Feb 18 21:24:51 UTC 2009


Author: dcantrel

Update of /cvs/pkgs/rpms/dhcp/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv12307

Modified Files:
	dhcp-4.1.0-missing-ipv6-not-fatal.patch 
Log Message:
* Wed Feb 18 2009 David Cantrell <dcantrell at redhat.com> - 12:4.1.0-7
- Do not segfault if the ipv6 kernel module is not loaded (#486097)


dhcp-4.1.0-missing-ipv6-not-fatal.patch:

Index: dhcp-4.1.0-missing-ipv6-not-fatal.patch
===================================================================
RCS file: /cvs/pkgs/rpms/dhcp/devel/dhcp-4.1.0-missing-ipv6-not-fatal.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- dhcp-4.1.0-missing-ipv6-not-fatal.patch	18 Feb 2009 20:02:39 -0000	1.1
+++ dhcp-4.1.0-missing-ipv6-not-fatal.patch	18 Feb 2009 21:24:21 -0000	1.2
@@ -1,21 +1,36 @@
 diff -up dhcp-4.1.0/common/discover.c.noipv6 dhcp-4.1.0/common/discover.c
---- dhcp-4.1.0/common/discover.c.noipv6	2009-02-18 09:40:45.000000000 -1000
-+++ dhcp-4.1.0/common/discover.c	2009-02-18 09:43:53.000000000 -1000
-@@ -447,9 +447,11 @@ begin_iface_scan(struct iface_conf_list 
- 	if (ifaces->fp6 == NULL) {
- 		log_error("Error opening '/proc/net/if_inet6' to "
- 			  "list IPv6 interfaces; %m");
+--- dhcp-4.1.0/common/discover.c.noipv6	2009-02-18 10:44:20.000000000 -1000
++++ dhcp-4.1.0/common/discover.c	2009-02-18 10:48:27.000000000 -1000
+@@ -443,15 +443,19 @@ begin_iface_scan(struct iface_conf_list 
+ 	}
+ 
+ #ifdef DHCPv6
+-	ifaces->fp6 = fopen("/proc/net/if_inet6", "re");
+-	if (ifaces->fp6 == NULL) {
+-		log_error("Error opening '/proc/net/if_inet6' to "
+-			  "list IPv6 interfaces; %m");
 -		close(ifaces->sock);
-+		if (ifaces->sock)
-+			close(ifaces->sock);
- 		ifaces->sock = -1;
+-		ifaces->sock = -1;
 -		fclose(ifaces->fp);
-+		if (ifaces->fp)
+-		ifaces->fp = NULL;
+-		return 0;
++	if (!access("/proc/net/if_inet6", R_OK)) {
++		ifaces->fp6 = fopen("/proc/net/if_inet6", "re");
++		if (ifaces->fp6 == NULL) {
++			log_error("Error opening '/proc/net/if_inet6' to "
++				  "list IPv6 interfaces; %m");
++			close(ifaces->sock);
++			ifaces->sock = -1;
 +			fclose(ifaces->fp);
- 		ifaces->fp = NULL;
- 		return 0;
++			ifaces->fp = NULL;
++			return 0;
++		}
++	} else {
++		ifaces->fp6 = NULL;
  	}
-@@ -719,7 +721,7 @@ next_iface(struct iface_info *info, int 
+ #endif
+ 
+@@ -719,7 +723,7 @@ next_iface(struct iface_info *info, int 
  		return 1;
  	}
  #ifdef DHCPv6
@@ -24,7 +39,7 @@
  		return next_iface6(info, err, ifaces);
  	}
  #endif
-@@ -736,7 +738,8 @@ end_iface_scan(struct iface_conf_list *i
+@@ -736,7 +740,8 @@ end_iface_scan(struct iface_conf_list *i
  	close(ifaces->sock);
  	ifaces->sock = -1;
  #ifdef DHCPv6




More information about the fedora-extras-commits mailing list