wil6210: fix chan check in wil_p2p_listen
authorMaya Erez <qca_merez@qualcomm.com>
Wed, 8 Jun 2016 17:07:47 +0000 (20:07 +0300)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 14 Jun 2016 13:20:14 +0000 (16:20 +0300)
In wil_p2p_listen chan is checked to protect against NULL
pointer access only before setting channel = chan->hw_value.
Add a global parameter check to cover all accesses to chan.

Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/wil6210/p2p.c

index 1c9153894dcaebdce1ea4949f3000d41f70d0397..213b8259638c44613237c15dfe755dac5bb089bf 100644 (file)
@@ -114,8 +114,10 @@ int wil_p2p_listen(struct wil6210_priv *wil, unsigned int duration,
        u8 channel = P2P_DMG_SOCIAL_CHANNEL;
        int rc;
 
-       if (chan)
-               channel = chan->hw_value;
+       if (!chan)
+               return -EINVAL;
+
+       channel = chan->hw_value;
 
        wil_dbg_misc(wil, "%s: duration %d\n", __func__, duration);