From ff6cd9b38652215a1f0fc02416af9219a38de5fc Mon Sep 17 00:00:00 2001
From: nico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Fri, 10 Jun 2005 05:55:28 +0000
Subject: Fix memleaks in driver_broadcom.c (thanks framer99)

git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1182 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 package/wpa_supplicant/Makefile                    |  2 +-
 .../patches/driver_broadcom-memleak.patch          | 36 ++++++++++++++++++++++
 2 files changed, 37 insertions(+), 1 deletion(-)
 create mode 100644 package/wpa_supplicant/patches/driver_broadcom-memleak.patch

(limited to 'package')

diff --git a/package/wpa_supplicant/Makefile b/package/wpa_supplicant/Makefile
index b86034dcb..cfb6e873d 100644
--- a/package/wpa_supplicant/Makefile
+++ b/package/wpa_supplicant/Makefile
@@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=wpa_supplicant
 PKG_VERSION:=0.3.8
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_MD5SUM:=c9ced104f0322f834a84336c293b4b57
 
 PKG_SOURCE_URL:=http://hostap.epitest.fi/releases/
diff --git a/package/wpa_supplicant/patches/driver_broadcom-memleak.patch b/package/wpa_supplicant/patches/driver_broadcom-memleak.patch
new file mode 100644
index 000000000..3d295f5e5
--- /dev/null
+++ b/package/wpa_supplicant/patches/driver_broadcom-memleak.patch
@@ -0,0 +1,36 @@
+Fixes some memory leaks in driver_broadom.c
+
+  http://openwrt.org/forum/viewtopic.php?pid=8217#p8217
+
+Thanks Greg (framer99)
+
+--- wpa_supplicant-0.3.8/driver_broadcom.c.orig	2005-01-22 05:35:13.000000000 +0100
++++ wpa_supplicant-0.3.8/driver_broadcom.c	2005-06-10 08:50:14.000000000 +0200
+@@ -289,6 +289,7 @@
+ 			   wwh->type);
+ 		break;
+ 	}
++	free(data.assoc_info.resp_ies);
+ }	
+ 
+ static void * wpa_driver_broadcom_init(void *ctx, const char *ifname)
+@@ -449,8 +450,10 @@
+ 	wsr->count = 0;
+ 
+ 	if (broadcom_ioctl(drv, WLC_SCAN_RESULTS, buf, WLC_IOCTL_MAXLEN) <
+-	    0)
++	    0) {
++		free(buf);
+ 		return -1;
++	}
+ 
+ 	memset(results, 0, max_size * sizeof(struct wpa_scan_result));
+ 
+@@ -490,6 +493,7 @@
+ 	wpa_printf(MSG_MSGDUMP, "Received %d bytes of scan results (%d BSSes)",
+ 		   wsr->buflen, ap_num);
+ 
++	free(buf);
+ 	return ap_num;
+ }
+ 
-- 
cgit v1.2.3