Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 53b18980 authored by Johannes Berg's avatar Johannes Berg
Browse files

nl80211: always check nla_put* return values



A few instances were found where we didn't check them, add the
missing checks even though they'll probably never trigger as
the message should be large enough here.

Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 76e1fb4b
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -9453,8 +9453,10 @@ static int nl80211_send_wowlan_nd(struct sk_buff *msg,
	if (!freqs)
		return -ENOBUFS;

	for (i = 0; i < req->n_channels; i++)
		nla_put_u32(msg, i, req->channels[i]->center_freq);
	for (i = 0; i < req->n_channels; i++) {
		if (nla_put_u32(msg, i, req->channels[i]->center_freq))
			return -ENOBUFS;
	}

	nla_nest_end(msg, freqs);

@@ -9468,9 +9470,10 @@ static int nl80211_send_wowlan_nd(struct sk_buff *msg,
			if (!match)
				return -ENOBUFS;

			nla_put(msg, NL80211_SCHED_SCAN_MATCH_ATTR_SSID,
			if (nla_put(msg, NL80211_SCHED_SCAN_MATCH_ATTR_SSID,
				    req->match_sets[i].ssid.ssid_len,
				req->match_sets[i].ssid.ssid);
				    req->match_sets[i].ssid.ssid))
				return -ENOBUFS;
			nla_nest_end(msg, match);
		}
		nla_nest_end(msg, matches);