diff options
Diffstat (limited to 'openwrt/package/wpa_supplicant/patches/driver_broadcom-memleak.patch')
-rw-r--r-- | openwrt/package/wpa_supplicant/patches/driver_broadcom-memleak.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/openwrt/package/wpa_supplicant/patches/driver_broadcom-memleak.patch b/openwrt/package/wpa_supplicant/patches/driver_broadcom-memleak.patch new file mode 100644 index 000000000..3d295f5e5 --- /dev/null +++ b/openwrt/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; + } + |