staging: wilc1000: replace kmalloc with kmemdup() in handle_connect_timeout()
authorAjay Singh <ajay.kathat@microchip.com>
Fri, 11 May 2018 08:13:09 +0000 (13:43 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 14 May 2018 12:04:47 +0000 (14:04 +0200)
Instead of kmalloc and memcpy use kmemdup in handle_connect_timeout().
Also return -ENOMEM incase of failure to allocate the memory.

Signed-off-by: Ajay Singh <ajay.kathat@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wilc1000/host_interface.c

index 039b49b..89f4afd 100644 (file)
@@ -1166,10 +1166,11 @@ static s32 handle_connect_timeout(struct wilc_vif *vif)
 
                if (hif_drv->usr_conn_req.ies) {
                        info.req_ies_len = hif_drv->usr_conn_req.ies_len;
-                       info.req_ies = kmalloc(hif_drv->usr_conn_req.ies_len, GFP_KERNEL);
-                       memcpy(info.req_ies,
-                              hif_drv->usr_conn_req.ies,
-                              hif_drv->usr_conn_req.ies_len);
+                       info.req_ies = kmemdup(hif_drv->usr_conn_req.ies,
+                                              hif_drv->usr_conn_req.ies_len,
+                                              GFP_KERNEL);
+                       if (!info.req_ies)
+                               return -ENOMEM;
                }
 
                hif_drv->usr_conn_req.conn_result(CONN_DISCONN_EVENT_CONN_RESP,