__netconfig_get_security(nla_data(bss[NL80211_BSS_INFORMATION_ELEMENTS]),
nla_len(bss[NL80211_BSS_INFORMATION_ELEMENTS]), &sec_type, &enc_type);
- if (sec_type == WIFI_SECURITY_TYPE_EAP)
+ if (sec_type == WIFI_SECURITY_TYPE_EAP) {
+ g_free(vsie);
return NL_SKIP;
+ }
for (GSList *list = bss_info_list; list != NULL; list = list->next) {
struct bss_scan_info_t *bss_info = (struct bss_scan_info_t *)list->data;
if ((g_strcmp0(bss_info->ssid, ssid) == 0) && (bss_info->security_type == sec_type)
&& (bss_info->encryption_type == enc_type)) {
+ g_free(vsie);
return NL_SKIP;
}
}
if (results.aborted) {
DBG("scan aborted");
- return 1;
+ goto out;
}
out:
nl_cb_put(cb);
nl_socket_drop_membership(socket, mcid);
- if (ret < 0)
+ if (ret < 0 || ret == 1)
return ret;
DBG("Scan done");