Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Dec 2010 20:15:47 +0000 (UTC)
From:      Bernhard Schmidt <bschmidt@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r216535 - head/usr.sbin/wpa/hostapd
Message-ID:  <201012182015.oBIKFleA027847@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bschmidt
Date: Sat Dec 18 20:15:47 2010
New Revision: 216535
URL: http://svn.freebsd.org/changeset/base/216535

Log:
  Prefer os_memset, os_strlcpy and os_free. While here adjust the return
  value checks for 2 ioctl calls and rewrite error handling in bsd_init
  to better integrate with upstream code.

Modified:
  head/usr.sbin/wpa/hostapd/driver_freebsd.c

Modified: head/usr.sbin/wpa/hostapd/driver_freebsd.c
==============================================================================
--- head/usr.sbin/wpa/hostapd/driver_freebsd.c	Sat Dec 18 20:14:47 2010	(r216534)
+++ head/usr.sbin/wpa/hostapd/driver_freebsd.c	Sat Dec 18 20:15:47 2010	(r216535)
@@ -168,10 +168,10 @@ bsd_set_iface_flags(void *priv, int flag
 	if (drv->sock < 0)
 		return -1;
 
-	memset(&ifr, 0, sizeof(ifr));
-	snprintf(ifr.ifr_name, IFNAMSIZ, "%s", drv->ifname);
+	os_memset(&ifr, 0, sizeof(ifr));
+	os_strlcpy(ifr.ifr_name, drv->ifname, sizeof(ifr.ifr_name));
 
-	if (ioctl(drv->sock, SIOCGIFFLAGS, &ifr) != 0) {
+	if (ioctl(drv->sock, SIOCGIFFLAGS, &ifr) < 0) {
 		perror("ioctl[SIOCGIFFLAGS]");
 		return -1;
 	}
@@ -187,7 +187,7 @@ bsd_set_iface_flags(void *priv, int flag
 		ifr.ifr_flags |= flags;
 	}
 
-	if (ioctl(drv->sock, SIOCSIFFLAGS, &ifr) != 0) {
+	if (ioctl(drv->sock, SIOCSIFFLAGS, &ifr) < 0) {
 		perror("ioctl[SIOCSIFFLAGS]");
 		return -1;
 	}
@@ -697,7 +697,7 @@ bsd_init(struct hostapd_data *hapd, stru
 		perror("socket[PF_INET,SOCK_DGRAM]");
 		goto bad;
 	}
-	memcpy(drv->ifname, params->ifname, sizeof(drv->ifname));
+	os_strlcpy(drv->ifname, params->ifname, sizeof(drv->ifname));
 	/*
 	 * NB: We require the interface name be mappable to an index.
 	 *     This implies we do not support having wpa_supplicant
@@ -733,13 +733,13 @@ bsd_init(struct hostapd_data *hapd, stru
 
 	return drv;
 bad:
-	if (drv != NULL) {
-		if (drv->sock_xmit != NULL)
-			l2_packet_deinit(drv->sock_xmit);
-		if (drv->sock >= 0)
-			close(drv->sock);
-		free(drv);
-	}
+	if (drv == NULL)
+		return NULL;
+	if (drv->sock_xmit != NULL)
+		l2_packet_deinit(drv->sock_xmit);
+	if (drv->sock >= 0)
+		close(drv->sock);
+	os_free(drv);
 	return NULL;
 }
 
@@ -758,7 +758,7 @@ bsd_deinit(void *priv)
 		close(drv->sock);
 	if (drv->sock_xmit != NULL)
 		l2_packet_deinit(drv->sock_xmit);
-	free(drv);
+	os_free(drv);
 }
 
 const struct wpa_driver_ops wpa_driver_bsd_ops = {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201012182015.oBIKFleA027847>