staging: rtlwifi: silence underflow warning
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 29 Sep 2017 07:51:17 +0000 (10:51 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 3 Oct 2017 16:36:25 +0000 (18:36 +0200)
I'm not totally certain that it's necessary to put an upper limit here.
I think it happens at lower levels.  But if we are going to do that then
we should have a lower bound as well.

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

index 43b8b9efe25f71627b274d682393599dfc794ef4..b55e18304a60b116515a7b316fdcee531edf7d87 100644 (file)
@@ -412,7 +412,8 @@ static void _rtl_add_wowlan_patterns(struct ieee80211_hw *hw,
        for (i = 0; i < wow->n_patterns; i++) {
                memset(&rtl_pattern, 0, sizeof(struct rtl_wow_pattern));
                memset(mask, 0, MAX_WOL_BIT_MASK_SIZE);
-               if (patterns[i].pattern_len > MAX_WOL_PATTERN_SIZE) {
+               if (patterns[i].pattern_len < 0 ||
+                   patterns[i].pattern_len > MAX_WOL_PATTERN_SIZE) {
                        RT_TRACE(rtlpriv, COMP_POWER, DBG_WARNING,
                                 "Pattern[%d] is too long\n", i);
                        continue;