From: HariPrasath Elango <hariprasath.ela...@gmail.com>

kmalloc followed by memcpy can be replaced by kmemdup.Also added the
related error handling part

Signed-off-by: HariPrasath Elango <hariprasath.ela...@gmail.com>
---
 drivers/staging/wilc1000/host_interface.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/wilc1000/host_interface.c 
b/drivers/staging/wilc1000/host_interface.c
index 0fac8e1..4ae2da6 100644
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -992,9 +992,13 @@ static s32 handle_connect(struct wilc_vif *vif,
 
        if (memcmp("DIRECT-", pstrHostIFconnectAttr->ssid, 7)) {
                info_element_size = hif_drv->usr_conn_req.ies_len;
-               info_element = kmalloc(info_element_size, GFP_KERNEL);
-               memcpy(info_element, hif_drv->usr_conn_req.ies,
-                               info_element_size);
+               info_element = kmemdup(hif_drv->usr_conn_req.ies,
+                                      info_element_size,
+                                      GFP_KERNEL);
+               if (!info_element) {
+                       result = -ENOMEM;
+                       goto ERRORHANDLER;
+               }
        }
 
        wid_list[wid_cnt].id = (u16)WID_11I_MODE;
-- 
2.10.0.GIT

Reply via email to