staging: vt6655: Fix RFbSetPower() error: buffer overflow 'priv->abyCCKPwrTbl' 15...
authorMalcolm Priestley <tvboxspy@gmail.com>
Mon, 19 Jan 2015 18:24:14 +0000 (18:24 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 25 Jan 2015 11:59:16 +0000 (19:59 +0800)
Check uCH is not more than CB_MAX_CHANNEL_24G(14) on rates RATE_1M to RATE_11M

Return false as the call is invalid as these rates do not exist
above channel 14.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vt6655/rf.c

index 27841aa..a6eabde 100644 (file)
@@ -788,6 +788,9 @@ bool RFbSetPower(
        case RATE_2M:
        case RATE_5M:
        case RATE_11M:
+               if (uCH > CB_MAX_CHANNEL_24G)
+                       return false;
+
                byPwr = priv->abyCCKPwrTbl[uCH];
                byPwrdBm = priv->abyCCKDefaultPwr[uCH];
                break;