Commit 9bfda382 authored by Chaehyun Lim's avatar Chaehyun Lim Committed by Greg Kroah-Hartman

staging: wilc1000: use kmemdup in host_int_add_rx_gtk

This patch changes kmalloc followed by memcpy to kmemdup.
The error checking is also added when kmemdup is failed.
Signed-off-by: default avatarChaehyun Lim <chaehyun.lim@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent d002fcc0
...@@ -3296,8 +3296,11 @@ int host_int_add_rx_gtk(struct host_if_drv *hif_drv, const u8 *rx_gtk, ...@@ -3296,8 +3296,11 @@ int host_int_add_rx_gtk(struct host_if_drv *hif_drv, const u8 *rx_gtk,
key_len += TX_MIC_KEY_LEN; key_len += TX_MIC_KEY_LEN;
if (key_rsc) { if (key_rsc) {
msg.body.key_info.attr.wpa.seq = kmalloc(key_rsc_len, GFP_KERNEL); msg.body.key_info.attr.wpa.seq = kmemdup(key_rsc,
memcpy(msg.body.key_info.attr.wpa.seq, key_rsc, key_rsc_len); key_rsc_len,
GFP_KERNEL);
if (!msg.body.key_info.attr.wpa.seq)
return -ENOMEM;
} }
msg.id = HOST_IF_MSG_KEY; msg.id = HOST_IF_MSG_KEY;
...@@ -3311,8 +3314,11 @@ int host_int_add_rx_gtk(struct host_if_drv *hif_drv, const u8 *rx_gtk, ...@@ -3311,8 +3314,11 @@ int host_int_add_rx_gtk(struct host_if_drv *hif_drv, const u8 *rx_gtk,
if (mode == STATION_MODE) if (mode == STATION_MODE)
msg.body.key_info.action = ADDKEY; msg.body.key_info.action = ADDKEY;
msg.body.key_info.attr.wpa.key = kmalloc(key_len, GFP_KERNEL); msg.body.key_info.attr.wpa.key = kmemdup(rx_gtk,
memcpy(msg.body.key_info.attr.wpa.key, rx_gtk, gtk_key_len); key_len,
GFP_KERNEL);
if (!msg.body.key_info.attr.wpa.key)
return -ENOMEM;
if (rx_mic) if (rx_mic)
memcpy(msg.body.key_info.attr.wpa.key + 16, rx_mic, memcpy(msg.body.key_info.attr.wpa.key + 16, rx_mic,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment