staging: wfx: add sanity checks to hif_join()
authorJérôme Pouiller <jerome.pouiller@silabs.com>
Wed, 1 Apr 2020 11:03:34 +0000 (13:03 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 13 Apr 2020 06:55:33 +0000 (08:55 +0200)
Add a few check on start of hif_join().

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-2-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wfx/hif_tx.c

index 77bca43aca4280692fc4f499c0e4d835b07f9cc1..445906035e9d319f5bb7125871aa9dc434302c67 100644 (file)
@@ -297,6 +297,8 @@ int hif_join(struct wfx_vif *wvif, const struct ieee80211_bss_conf *conf,
        struct hif_req_join *body = wfx_alloc_hif(sizeof(*body), &hif);
 
        WARN_ON(!conf->basic_rates);
+       WARN_ON(sizeof(body->ssid) < ssidlen);
+       WARN(!conf->ibss_joined && !ssidlen, "joining an unknown BSS");
        body->infrastructure_bss_mode = !conf->ibss_joined;
        body->short_preamble = conf->use_short_preamble;
        if (channel && channel->flags & IEEE80211_CHAN_NO_IR)