summaryrefslogtreecommitdiffstats
path: root/openwrt/package/wpa_supplicant/patches/driver_broadcom-memleak.patch
blob: 3d295f5e5eb2408b19db28e4ac17c5da9f4b7812 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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;
 }