netdev: check iftype in channel switch event

Some drivers send this event when starting AP mode which means
the handshake object is NULL, causing a crash.
This commit is contained in:
James Prestwood 2023-02-23 10:14:17 -08:00 committed by Denis Kenzior
parent 95652a30d1
commit c7034aa41b
1 changed files with 6 additions and 2 deletions

View File

@ -5170,8 +5170,12 @@ static void netdev_send_sa_query_delay(struct l_timeout *timeout,
static void netdev_channel_switch_event(struct l_genl_msg *msg,
struct netdev *netdev)
{
_auto_(l_free) struct band_chandef *chandef =
l_new(struct band_chandef, 1);
_auto_(l_free) struct band_chandef *chandef = NULL;
if (netdev->type != NL80211_IFTYPE_STATION)
return;
chandef = l_new(struct band_chandef, 1);
if (nl80211_parse_chandef(msg, chandef) < 0) {
l_debug("Couldn't parse operating channel info.");