From: Chaehyun Lim Date: Tue, 27 Oct 2015 23:19:27 +0000 (+0900) Subject: staging: wilc1000: replace kmalloc/memcpy with kmemdup X-Git-Tag: KARO-TX6UL-2015-11-03~34^2~59 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=58eabd68a438f8b4755fab7160a31745f5723db4;p=karo-tx-linux.git staging: wilc1000: replace kmalloc/memcpy with kmemdup This patch replaces kmalloc followed by memcpy with kmemdup. It is also added error checking to return -ENOMEM when kmemdup is failed. Signed-off-by: Chaehyun Lim Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/wilc1000/host_interface.c b/drivers/staging/wilc1000/host_interface.c index 466fd5307978..9a6fcc7e844c 100644 --- a/drivers/staging/wilc1000/host_interface.c +++ b/drivers/staging/wilc1000/host_interface.c @@ -3165,8 +3165,10 @@ int host_int_add_wep_key_bss_ap(struct host_if_drv *hif_drv, msg.body.key_info.type = WEP; msg.body.key_info.action = ADDKEY_AP; msg.drv = hif_drv; - msg.body.key_info.attr.wep.key = kmalloc(len, GFP_KERNEL); - memcpy(msg.body.key_info.attr.wep.key, key, len); + msg.body.key_info.attr.wep.key = kmemdup(key, len, GFP_KERNEL); + if (!msg.body.key_info.attr.wep.key) + return -ENOMEM; + msg.body.key_info.attr.wep.key_len = len; msg.body.key_info.attr.wep.index = index; msg.body.key_info.attr.wep.mode = mode;