rsi: fix missing null pointer check from a failed ieee80211_probereq_get call
authorColin Ian King <colin.king@canonical.com>
Thu, 21 Feb 2019 12:35:49 +0000 (12:35 +0000)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 28 Feb 2019 08:28:36 +0000 (10:28 +0200)
The call to ieee80211_probereq_get can return NULL if a skb allocation
fails, so add a null pointer check and free an earlier skb on the error
exit return path.

Fixes: 7fdcb8e12660 ("rsi: add support for hardware scan offload")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/rsi/rsi_91x_mgmt.c

index 8c17842ac507d124fa544401b9e32ec182bad4c8..844f2fac298f8bf12698e364c35b5a888ac16f0a 100644 (file)
@@ -1726,6 +1726,10 @@ int rsi_send_bgscan_probe_req(struct rsi_common *common,
 
        probereq_skb = ieee80211_probereq_get(common->priv->hw, vif->addr, ssid,
                                              ssid_len, scan_req->ie_len);
+       if (!probereq_skb) {
+               dev_kfree_skb(skb);
+               return -ENOMEM;
+       }
 
        memcpy(&skb->data[frame_len], probereq_skb->data, probereq_skb->len);