staging: wilc1000: fix a couple of memory leaks

The ENOMEM error return paths are not free'ing allocated memory
resulting in a memory leak of allocated structures. Perform the
required kfree to fix the memory leaks.

Issue discovered with static analysis using CoverityScan

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Colin Ian King 2016-03-21 22:42:11 +00:00 committed by Greg Kroah-Hartman
parent 2e11590171
commit f54e994c29

View File

@ -338,8 +338,10 @@ s32 wilc_parse_network_info(u8 *msg_buffer,
if (ies_len > 0) {
network_info->ies = kmemdup(ies, ies_len, GFP_KERNEL);
if (!network_info->ies)
if (!network_info->ies) {
kfree(network_info);
return -ENOMEM;
}
}
network_info->ies_len = ies_len;
}
@ -373,8 +375,10 @@ s32 wilc_parse_assoc_resp_info(u8 *buffer, u32 buffer_len,
AID_LEN);
connect_resp_info->ies = kmemdup(ies, ies_len, GFP_KERNEL);
if (!connect_resp_info->ies)
if (!connect_resp_info->ies) {
kfree(connect_resp_info);
return -ENOMEM;
}
connect_resp_info->ies_len = ies_len;
}