This patch changes kmalloc followed by memcpy to kmemdup
The error checking is also added when kmemdup is failed.

Signed-off-by: Chaehyun Lim <chaehyun....@gmail.com>
---
 drivers/staging/wilc1000/host_interface.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wilc1000/host_interface.c 
b/drivers/staging/wilc1000/host_interface.c
index dd7e8ed..18623c7 100644
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -3239,8 +3239,9 @@ int host_int_add_ptk(struct host_if_drv *hif_drv, const 
u8 *ptk,
        if (mode == STATION_MODE)
                msg.body.key_info.action = ADDKEY;
 
-       msg.body.key_info.attr.wpa.key = kmalloc(ptk_key_len, GFP_KERNEL);
-       memcpy(msg.body.key_info.attr.wpa.key, ptk, ptk_key_len);
+       msg.body.key_info.attr.wpa.key = kmemdup(ptk, ptk_key_len, GFP_KERNEL);
+       if (!msg.body.key_info.attr.wpa.key)
+               return -ENOMEM;
 
        if (rx_mic) {
                memcpy(msg.body.key_info.attr.wpa.key + 16, rx_mic, 
RX_MIC_KEY_LEN);
-- 
2.6.3

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to