wifi: nl80211: don't free NULL coalescing rule

If the parsing fails, we can dereference a NULL pointer here.

Cc: stable@vger.kernel.org
Fixes: be29b99a9b ("cfg80211/nl80211: Add packet coalesce support")
Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240418105220.b328f80406e7.Id75d961050deb05b3e4e354e024866f350c68103@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Johannes Berg 2024-04-18 10:52:23 +02:00
parent 2fb5dfe18e
commit 801ea33ae8

View File

@ -14030,6 +14030,8 @@ static int nl80211_set_coalesce(struct sk_buff *skb, struct genl_info *info)
error: error:
for (i = 0; i < new_coalesce.n_rules; i++) { for (i = 0; i < new_coalesce.n_rules; i++) {
tmp_rule = &new_coalesce.rules[i]; tmp_rule = &new_coalesce.rules[i];
if (!tmp_rule)
continue;
for (j = 0; j < tmp_rule->n_patterns; j++) for (j = 0; j < tmp_rule->n_patterns; j++)
kfree(tmp_rule->patterns[j].mask); kfree(tmp_rule->patterns[j].mask);
kfree(tmp_rule->patterns); kfree(tmp_rule->patterns);