[pkg-wpa-devel] r1027 - /wpasupplicant/trunk/debian/patches/33_wait_for_interface_driver_init.patch

kelmo-guest at users.alioth.debian.org kelmo-guest at users.alioth.debian.org
Fri Jan 11 07:17:32 UTC 2008


Author: kelmo-guest
Date: Fri Jan 11 07:17:30 2008
New Revision: 1027

URL: http://svn.debian.org/wsvn/pkg-wpa/?sc=1&rev=1027
Log:
use similar failure handling to driver_{bsd,madwifi}.c init function

Modified:
    wpasupplicant/trunk/debian/patches/33_wait_for_interface_driver_init.patch

Modified: wpasupplicant/trunk/debian/patches/33_wait_for_interface_driver_init.patch
URL: http://svn.debian.org/wsvn/pkg-wpa/wpasupplicant/trunk/debian/patches/33_wait_for_interface_driver_init.patch?rev=1027&op=diff
==============================================================================
--- wpasupplicant/trunk/debian/patches/33_wait_for_interface_driver_init.patch (original)
+++ wpasupplicant/trunk/debian/patches/33_wait_for_interface_driver_init.patch Fri Jan 11 07:17:30 2008
@@ -191,7 +191,30 @@
  	}
 --- a/src/drivers/driver_wext.c
 +++ b/src/drivers/driver_wext.c
-@@ -945,9 +945,15 @@
+@@ -924,9 +924,7 @@
+ 	s = socket(PF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
+ 	if (s < 0) {
+ 		perror("socket(PF_NETLINK,SOCK_RAW,NETLINK_ROUTE)");
+-		close(drv->ioctl_sock);
+-		os_free(drv);
+-		return NULL;
++		goto fail;
+ 	}
+ 
+ 	os_memset(&local, 0, sizeof(local));
+@@ -934,10 +932,7 @@
+ 	local.nl_groups = RTMGRP_LINK;
+ 	if (bind(s, (struct sockaddr *) &local, sizeof(local)) < 0) {
+ 		perror("bind(netlink)");
+-		close(s);
+-		close(drv->ioctl_sock);
+-		os_free(drv);
+-		return NULL;
++		goto fail2;
+ 	}
+ 
+ 	eloop_register_read_sock(s, wpa_driver_wext_event_receive, drv, ctx);
+@@ -945,9 +940,10 @@
  
  	drv->mlme_sock = -1;
  
@@ -199,13 +222,25 @@
 +	if (wpa_driver_wext_get_ifflags(drv, &flags) != 0) {
  		printf("Could not get interface '%s' flags\n", drv->ifname);
 -	else if (!(flags & IFF_UP)) {
-+		close(drv->event_sock);
-+		eloop_unregister_read_sock(s);
-+		close(s);
-+		close(drv->ioctl_sock);
-+		os_free(drv);
-+		return NULL;
++		goto fail3;
 +	} else if (!(flags & IFF_UP)) {
  		if (wpa_driver_wext_set_ifflags(drv, flags | IFF_UP) != 0) {
  			printf("Could not set interface '%s' UP\n",
  			       drv->ifname);
+@@ -996,6 +992,16 @@
+ 	wpa_driver_wext_send_oper_ifla(drv, 1, IF_OPER_DORMANT);
+ 
+ 	return drv;
++
++fail3:
++	close(drv->event_sock);
++	eloop_unregister_read_sock(s);
++fail2:
++	close(s);
++	close(drv->ioctl_sock);
++fail:
++	os_free(drv);
++	return NULL;
+ }
+ 
+ 




More information about the Pkg-wpa-devel mailing list