Commit 7ca6ba24 authored by Ajay Singh's avatar Ajay Singh Committed by Greg Kroah-Hartman
Browse files

staging: wilc1000: use kmemdup instead of kmalloc in add_network_to_shadow()



Use kmemdup instead of kmalloc & memcpy in add_network_to_shadow(). Also
added  code to set 'ies_len' to zero in case of memory allocation
failure.

Signed-off-by: default avatarAjay Singh <ajay.kathat@microchip.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 30300a1c
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -327,12 +327,15 @@ static void add_network_to_shadow(struct network_info *nw_info,
	shadow_nw_info->beacon_period = nw_info->beacon_period;
	shadow_nw_info->dtim_period = nw_info->dtim_period;
	shadow_nw_info->ch = nw_info->ch;
	shadow_nw_info->ies_len = nw_info->ies_len;
	shadow_nw_info->tsf_hi = nw_info->tsf_hi;
	if (ap_found != -1)
		kfree(shadow_nw_info->ies);
	shadow_nw_info->ies = kmalloc(nw_info->ies_len, GFP_KERNEL);
	memcpy(shadow_nw_info->ies, nw_info->ies, nw_info->ies_len);
	shadow_nw_info->ies = kmemdup(nw_info->ies, nw_info->ies_len,
				      GFP_KERNEL);
	if (shadow_nw_info->ies)
		shadow_nw_info->ies_len = nw_info->ies_len;
	else
		shadow_nw_info->ies_len = 0;
	shadow_nw_info->time_scan = jiffies;
	shadow_nw_info->time_scan_cached = jiffies;
	shadow_nw_info->found = 1;