My static checker complains that we have an upper bound but no lower
bound.  I suspect neither are really required but it doesn't hurt to add
a check for negatives.

Signed-off-by: Dan Carpenter <dan.carpen...@oracle.com>

diff --git a/drivers/net/wireless/realtek/rtlwifi/core.c 
b/drivers/net/wireless/realtek/rtlwifi/core.c
index c53cbf3d52bd..294a6b43d1bc 100644
--- a/drivers/net/wireless/realtek/rtlwifi/core.c
+++ b/drivers/net/wireless/realtek/rtlwifi/core.c
@@ -453,7 +453,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;

Reply via email to