|
@@ -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;
|