summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-06-10 05:55:28 +0000
committernico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-06-10 05:55:28 +0000
commitff6cd9b38652215a1f0fc02416af9219a38de5fc (patch)
tree9af799fc180cd85a16102f6e3102de33077a00d6
parentb8157c22274d96911ec48bcf9e870ea2d3622b28 (diff)
Fix memleaks in driver_broadcom.c (thanks framer99)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1182 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/wpa_supplicant/Makefile2
-rw-r--r--package/wpa_supplicant/patches/driver_broadcom-memleak.patch36
2 files changed, 37 insertions, 1 deletions
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;
+ }
+