blob: 196fd953a8bee158ad0e92b5eb228155ac5f0377 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
--- kernel/drivers/net/wireless/bcm4329/dhd_linux.c.orig 2011-12-21 19:54:24.884526348 +0100
+++ kernel/drivers/net/wireless/bcm4329/dhd_linux.c 2011-12-21 18:55:18.974476355 +0100
@@ -1904,6 +1904,13 @@ dhd_open(struct net_device *net)
ifidx = dhd_net2idx(dhd, net);
DHD_TRACE(("%s: ifidx %d\n", __FUNCTION__, ifidx));
+//max
+ if (ifidx < 0 || ifidx >= DHD_MAX_IFS) {
+ DHD_ERROR(("%s: Error: error ifidx out of range\n", __FUNCTION__));
+ return -1;
+ }
+//end max
+
if ((dhd->iflist[ifidx]) && (dhd->iflist[ifidx]->state == WLC_E_IF_DEL)) {
DHD_ERROR(("%s: Error: called when IF already deleted\n", __FUNCTION__));
return -1;
|