[Bugfix][API-939][wifi] fix core dump of lynq_get_sta_saved_ap
Change-Id: Ia68152f1197a3c89cb213371504342619182e107
diff --git a/lib/liblynq-wifi6/libwifi6.c b/lib/liblynq-wifi6/libwifi6.c
index 02b3b16..d2df291 100755
--- a/lib/liblynq-wifi6/libwifi6.c
+++ b/lib/liblynq-wifi6/libwifi6.c
@@ -2790,29 +2790,36 @@
count = lynq_get_network_number_list(idx, CTRL_STA, net_no_list, NULL);
RLOGD("[lynq_get_sta_saved_ap]count is %d\n", count);
+ if (count < 0)
+ {
+ RLOGE("list network fail");
+ return count;
+ }
+ else if (count == 0)
+ {
+ *list = NULL;
+ *len = 0;
+ return 0;
+ }
+
*list = malloc(sizeof (saved_ap_info_s) * count);
memset(*list, 0, sizeof (saved_ap_info_s) * count);
*len = count;
for (index=0; index < count; index++)
{
- RLOGD("[lynq_get_sta_saved_ap]to get ssid %d", index);
- RLOGD("[lynq_get_sta_saved_ap][inner_get_param]to get ssid");
inner_get_param(CTRL_STA, net_no_list[index], "ssid", (*list)[index].base_info.ap_ssid);
- RLOGD("[lynq_get_sta_saved_ap][inner_get_param]to get mac");
inner_get_param(CTRL_STA, net_no_list[index], "bssid", (*list)[index].base_info.ap_mac);
- RLOGD("[lynq_get_sta_saved_ap][inner_get_param]to get auth");
inner_get_network_auth(CTRL_STA, net_no_list[index], &(*list)[index].base_info.auth);
- RLOGD("[lynq_get_sta_saved_ap][inner_get_param]to get band");
if (inner_get_param(CTRL_STA, net_no_list[index], "frequency", freq) == 0)
- {
+ {
(*list)[index].base_info.band = convert_band_from_freq(atoi(freq));
}
else
- {
+ {
(*list)[index].base_info.band = -1;
}
- RLOGD("[lynq_get_sta_saved_ap][inner_get_param]to get psw");
+ RLOGD("[lynq_get_sta_saved_ap][inner_get_param]to get psw");
lynq_sta_ssid_password_get(idx, & (*list)[index].base_info, (*list)[index].base_info.psw);
}
RLOGD("[lynq_get_sta_saved_ap] return ok");