staging: rtl8723au: Use kmemdup() instead of memcpy() to duplicate memory
This issue was reported by coccicheck using the semantic patch at scripts/coccinelle/api/memdup.cocci, and tested by compilation. Signed-off-by: Benoit Taine <benoit.taine@lip6.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
48039e70b6
commit
4a6eea4dcb
@@ -339,12 +339,11 @@ int rtl8723a_FirmwareDownload(struct rtw_adapter *padapter)
|
||||
rtStatus = _FAIL;
|
||||
goto Exit;
|
||||
}
|
||||
firmware_buf = kzalloc(fw->size, GFP_KERNEL);
|
||||
firmware_buf = kmemdup(fw->data, fw->size, GFP_KERNEL);
|
||||
if (!firmware_buf) {
|
||||
rtStatus = _FAIL;
|
||||
goto Exit;
|
||||
}
|
||||
memcpy(firmware_buf, fw->data, fw->size);
|
||||
buf = firmware_buf;
|
||||
fw_size = fw->size;
|
||||
release_firmware(fw);
|
||||
|
||||
@@ -1506,14 +1506,14 @@ static int rtw_cfg80211_set_probe_req_wpsp2pie(struct rtw_adapter *padapter,
|
||||
pmlmepriv->wps_probe_req_ie = NULL;
|
||||
}
|
||||
|
||||
pmlmepriv->wps_probe_req_ie =
|
||||
kmalloc(wps_ielen, GFP_KERNEL);
|
||||
pmlmepriv->wps_probe_req_ie = kmemdup(wps_ie,
|
||||
wps_ielen,
|
||||
GFP_KERNEL);
|
||||
if (pmlmepriv->wps_probe_req_ie == NULL) {
|
||||
DBG_8723A("%s()-%d: kmalloc() ERROR!\n",
|
||||
__func__, __LINE__);
|
||||
return -EINVAL;
|
||||
}
|
||||
memcpy(pmlmepriv->wps_probe_req_ie, wps_ie, wps_ielen);
|
||||
pmlmepriv->wps_probe_req_ie_len = wps_ielen;
|
||||
}
|
||||
}
|
||||
@@ -1777,12 +1777,11 @@ static int rtw_cfg80211_set_wpa_ie(struct rtw_adapter *padapter, const u8 *pie,
|
||||
ret = -EINVAL;
|
||||
goto exit;
|
||||
}
|
||||
buf = kzalloc(ielen, GFP_KERNEL);
|
||||
buf = kmemdup(pie, ielen, GFP_KERNEL);
|
||||
if (buf == NULL) {
|
||||
ret = -ENOMEM;
|
||||
goto exit;
|
||||
}
|
||||
memcpy(buf, pie, ielen);
|
||||
|
||||
/* dump */
|
||||
DBG_8723A("set wpa_ie(length:%zu):\n", ielen);
|
||||
@@ -3225,14 +3224,13 @@ static int rtw_cfg80211_set_beacon_wpsp2pie(struct net_device *ndev, char *buf,
|
||||
pmlmepriv->wps_beacon_ie = NULL;
|
||||
}
|
||||
|
||||
pmlmepriv->wps_beacon_ie =
|
||||
kmalloc(wps_ielen, GFP_KERNEL);
|
||||
pmlmepriv->wps_beacon_ie = kmemdup(wps_ie, wps_ielen,
|
||||
GFP_KERNEL);
|
||||
if (pmlmepriv->wps_beacon_ie == NULL) {
|
||||
DBG_8723A("%s()-%d: kmalloc() ERROR!\n",
|
||||
__func__, __LINE__);
|
||||
return -EINVAL;
|
||||
}
|
||||
memcpy(pmlmepriv->wps_beacon_ie, wps_ie, wps_ielen);
|
||||
pmlmepriv->wps_beacon_ie_len = wps_ielen;
|
||||
|
||||
#ifdef CONFIG_8723AU_AP_MODE
|
||||
@@ -3317,14 +3315,13 @@ static int rtw_cfg80211_set_assoc_resp_wpsp2pie(struct net_device *net,
|
||||
pmlmepriv->wps_assoc_resp_ie = NULL;
|
||||
}
|
||||
|
||||
pmlmepriv->wps_assoc_resp_ie = kmalloc(len, GFP_KERNEL);
|
||||
pmlmepriv->wps_assoc_resp_ie = kmemdup(buf, len, GFP_KERNEL);
|
||||
if (pmlmepriv->wps_assoc_resp_ie == NULL) {
|
||||
DBG_8723A("%s()-%d: kmalloc() ERROR!\n",
|
||||
__func__, __LINE__);
|
||||
return -EINVAL;
|
||||
|
||||
}
|
||||
memcpy(pmlmepriv->wps_assoc_resp_ie, buf, len);
|
||||
pmlmepriv->wps_assoc_resp_ie_len = len;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user