wlan-ng: add a bounds check
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 27 Feb 2013 05:13:45 +0000 (08:13 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 11 Mar 2013 16:47:13 +0000 (09:47 -0700)
I'm not sure where these results come from, but it can't hurt to
add a sanity check the array offset.  The .results[] array on the
next line has HFA384x_CHINFORESULT_MAX (16) elements.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wlan-ng/prism2sta.c

index dc221f2..428a9be 100644 (file)
@@ -1170,6 +1170,9 @@ static void prism2sta_inf_chinforesults(wlandevice_t *wlandev,
                result = &inf->info.chinforesult.result[n];
                chan = le16_to_cpu(result->chid) - 1;
 
+               if (chan < 0 || chan >= HFA384x_CHINFORESULT_MAX)
+                       continue;
+
                chinforesult = &hw->channel_info.results.result[chan];
                chinforesult->chid = chan;
                chinforesult->anl = le16_to_cpu(result->anl);