Search Linux Wireless

Re: [PATCH] net: brcm80211: fix potential NULL pointer dereferences

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/11/2019 8:32 AM, Kangjie Lu wrote:
In case kmemdup fails, the fix returns -ENOMEM to avoid NULL
pointer dereferences.

Hi Kangjie Lu,

Are you fixing any reported issue with this? If you looked further you would see that this function is called in two places and the return value is not checked there. So your patch is not changing anything.

Please sent a V2 addressing my comments below.

Thanks,
Arend

Signed-off-by: Kangjie Lu <kjlu@xxxxxxx>
---
  drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 5 +++++
  1 file changed, 5 insertions(+)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
index e92f6351bd22..d903a45e7b68 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
@@ -5464,6 +5464,9 @@ static s32 brcmf_get_assoc_ies(struct brcmf_cfg80211_info *cfg,
  		conn_info->req_ie =
  		    kmemdup(cfg->extra_buf, conn_info->req_ie_len,
  			    GFP_KERNEL);
+		if (!conn_info->req_ie)
+			return -ENOMEM;

No need to return an error here. Instead set conn_info->req_ie_len to zero here.

+
  	} else {
  		conn_info->req_ie_len = 0;
  		conn_info->req_ie = NULL;
@@ -5480,6 +5483,8 @@ static s32 brcmf_get_assoc_ies(struct brcmf_cfg80211_info *cfg,
  		conn_info->resp_ie =
  		    kmemdup(cfg->extra_buf, conn_info->resp_ie_len,
  			    GFP_KERNEL);
+		if (!conn_info->resp_ie)
+			return -ENOMEM;

Same here for conn_info->resp_ie_len.

  	} else {
  		conn_info->resp_ie_len = 0;
  		conn_info->resp_ie = NULL;




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux