Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/ovsdb/ovsdb_table.c
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ void* onewifi_ovsdb_table_select_where(const char *ovsdb_sock_path, ovsdb_table_
if (!retval && records_array)
free(records_array);
json_decref(jrows);
return records_array;
return retval;
}

void* onewifi_ovsdb_table_select(const char *ovsdb_sock_path, ovsdb_table_t *table, char *column, char *value, int *count)
Expand Down
2 changes: 1 addition & 1 deletion source/apps/levl/wifi_levl.c
Original file line number Diff line number Diff line change
Expand Up @@ -1865,7 +1865,7 @@ bus_error_t levl_event_handler(char *eventName, bus_event_sub_action_t action, i
return bus_error_general;
}

if ((radio < 0) || (radio > MAX_NUM_RADIOS)) {
if ((radio < 1) || (radio > MAX_NUM_RADIOS)) {
wifi_util_dbg_print(WIFI_APPS, "%s:%d Invalid Radio: %u\n", __func__, __LINE__, radio-1);
pthread_mutex_unlock(&wifi_app->data.u.levl.lock);
Comment on lines +1868 to 1870
return bus_error_general;
Expand Down
8 changes: 7 additions & 1 deletion source/core/services/vap_svc_mesh_ext.c
Original file line number Diff line number Diff line change
Expand Up @@ -1722,8 +1722,13 @@ void process_ext_connected_scan_results(vap_svc_t *svc, void *arg)
convert_radio_index_to_freq_band(svc->prop, results->radio_index, (int *)&band);
if ((ext->candidates_list.scan_list == NULL) && num) {
ext->candidates_list.scan_list = (bss_candidate_t *) malloc(num * sizeof(bss_candidate_t));
if (ext->candidates_list.scan_list == NULL) {
ext_set_conn_state(ext, connection_state_connected, __func__, __LINE__);
schedule_connect_sm(svc);
return;
}
scan_list = ext->candidates_list.scan_list;
ext->candidates_list.scan_count = num;
ext->candidates_list.scan_count = 0;
} else {
wifi_util_dbg_print(WIFI_CTRL, "%s:%d NULL scan list should not reach this condition\n", __func__, __LINE__);
ext_set_conn_state(ext, connection_state_connected, __func__, __LINE__);
Expand All @@ -1741,6 +1746,7 @@ void process_ext_connected_scan_results(vap_svc_t *svc, void *arg)
scan_list->conn_retry_attempt = 0;
scan_list->radio_freq_band = band;
scan_list++;
ext->candidates_list.scan_count++;
}
tmp_bss++;
}
Expand Down
2 changes: 2 additions & 0 deletions source/core/wifi_ctrl_rbus_handlers.c
Original file line number Diff line number Diff line change
Expand Up @@ -3466,6 +3466,8 @@ bus_error_t ap_get_handler(char *name, raw_data_t *p_data, bus_user_data_t *user
if (p_data->raw_data.bytes == NULL) {
wifi_util_error_print(WIFI_CTRL,"%s:%d memory allocation is failed:%d\r\n",__func__,
__LINE__, str_len);
free(harvester_buf[vap_array_index]);
harvester_buf[vap_array_index] = NULL;
pthread_mutex_unlock(&events_bus_data->events_bus_lock);
return bus_error_out_of_resources;
}
Expand Down
4 changes: 2 additions & 2 deletions source/core/wifi_ctrl_webconfig.c
Original file line number Diff line number Diff line change
Expand Up @@ -3514,9 +3514,9 @@ void start_station_vaps(bool is_private, bool rf_status)
str = data->u.encoded.raw;
push_event_to_ctrl_queue(str, strlen(str), wifi_event_type_webconfig,
wifi_event_webconfig_set_data_dml, NULL);
} else {
webconfig_data_free(data);
}

webconfig_data_free(data);
free(data);
}

Expand Down
3 changes: 2 additions & 1 deletion source/core/wifi_passpoint.c
Original file line number Diff line number Diff line change
Expand Up @@ -719,10 +719,11 @@ INT WiFi_SetGasConfig(char *JSON_STR)
return RETURN_OK;
}
wifi_util_dbg_print(WIFI_PASSPOINT,"Failed to update HAL with GAS Config. Adv-ID:%d\n",gasConfig_struct.AdvertisementID);
cJSON_Delete(passPointCfg);
return RETURN_ERR;
#else
UNREFERENCED_PARAMETER(JSON_STR);
#endif
#endif
return RETURN_ERR;
}

Expand Down
11 changes: 9 additions & 2 deletions source/db/wifi_db_apis.c
Original file line number Diff line number Diff line change
Expand Up @@ -2508,23 +2508,26 @@ int wifidb_get_wifi_security_config(char *vap_name, wifi_vap_security_t *sec)

where = onewifi_ovsdb_tran_cond(OCLM_STR, "vap_name", OFUNC_EQ, vap_name);
pcfg = onewifi_ovsdb_table_select_where(g_wifidb->wifidb_sock_path, &table_Wifi_Security_Config, where, &count);
if (pcfg == NULL) {
if (pcfg == NULL || count == 0) {
wifidb_print("%s:%d Table table_Wifi_Security_Config table not found, entry count=%d \n",__func__, __LINE__, count);
return -1;
}
vap_index = convert_vap_name_to_array_index(&((wifi_mgr_t*)get_wifimgr_obj())->hal_cap.wifi_prop, vap_name);
if(vap_index < 0) {
wifi_util_dbg_print(WIFI_DB,"%s:%d: %s vap_name is invalid\n",__func__, __LINE__,vap_name);
free(pcfg);
return -1;
}

radio_index = convert_vap_name_to_radio_array_index(&((wifi_mgr_t*)get_wifimgr_obj())->hal_cap.wifi_prop, vap_name);
if(radio_index < 0) {
wifi_util_dbg_print(WIFI_DB,"%s:%d: %s vap_name is invalid\n",__func__, __LINE__,vap_name);
free(pcfg);
return -1;
}
if (convert_radio_index_to_freq_band(&((wifi_mgr_t*)get_wifimgr_obj())->hal_cap.wifi_prop, radio_index, &band) != RETURN_OK) {
wifi_util_error_print(WIFI_DB, "%s:%d: Unable to fetch proper band\n", __func__, __LINE__);
free(pcfg);
return -1;
}

Expand Down Expand Up @@ -6579,18 +6582,21 @@ int wifidb_get_wifi_vap_info(char *vap_name, wifi_vap_info_t *config,
if((convert_radio_name_to_index(&index,pcfg->radio_name))!=0)
{
wifi_util_dbg_print(WIFI_DB,"%s:%d: %s invalid radio name \n",__func__, __LINE__,pcfg->radio_name);
free(pcfg);
return RETURN_ERR;
}
config->radio_index = index ;
config->vap_index = convert_vap_name_to_index(&((wifi_mgr_t*) get_wifimgr_obj())->hal_cap.wifi_prop, pcfg->vap_name);
if ((int)config->vap_index < 0) {
wifi_util_error_print(WIFI_DB,"%s:%d: %s invalid vap name \n",__func__, __LINE__,pcfg->vap_name);
free(pcfg);
return RETURN_ERR;
}
strncpy(config->vap_name, pcfg->vap_name,(sizeof(config->vap_name)-1));
vap_index = convert_vap_name_to_index(&((wifi_mgr_t*) get_wifimgr_obj())->hal_cap.wifi_prop, pcfg->vap_name);
if ((int)vap_index < 0) {
wifi_util_error_print(WIFI_DB,"%s:%d: %s invalid vap name \n",__func__, __LINE__,pcfg->vap_name);
free(pcfg);
return RETURN_ERR;
}
if (isVapLnfPsk(vap_index) && pcfg->mdu_enabled) {
Expand Down Expand Up @@ -6700,7 +6706,7 @@ int wifidb_get_wifi_security_config_old_mode(char *vap_name, int vap_index)
where = onewifi_ovsdb_tran_cond(OCLM_STR, "vap_name", OFUNC_EQ, vap_name);
pcfg = onewifi_ovsdb_table_select_where(g_wifidb->wifidb_sock_path, &table_Wifi_Security_Config, where, &count);

if (pcfg == NULL) {
if (pcfg == NULL || count == 0) {
wifidb_print("%s:%d Table table_Wifi_Security_Config table not found, entry count=%d \n",__func__, __LINE__, count);
#if defined(CONFIG_IEEE80211BE)
if(is_6g)
Expand All @@ -6713,6 +6719,7 @@ int wifidb_get_wifi_security_config_old_mode(char *vap_name, int vap_index)
#if defined(CONFIG_IEEE80211BE)
sec_mode_old = (is_6g && !pcfg->security_mode) ? wifi_security_mode_wpa3_personal : pcfg->security_mode;
#endif /* CONFIG_IEEE80211BE */
free(pcfg);
return sec_mode_old;
}

Expand Down
5 changes: 4 additions & 1 deletion source/dml/tr_181/ml/cosa_wifi_dml.c
Original file line number Diff line number Diff line change
Expand Up @@ -20525,6 +20525,7 @@ InterworkingService_SetParamStringValue
wifi_util_dbg_print(WIFI_DMCLI,"%s:%d Invalid json for vap %s\n", __FUNCTION__,__LINE__,pcfg->vap_name);
return FALSE;
}
cJSON_Delete(p_root);
if (strnlen(pString, sizeof(vapInfo->u.bss_info.interworking.anqp.anqpParameters)) < sizeof(vapInfo->u.bss_info.interworking.anqp.anqpParameters))
{
AnscCopyString((char*)vapInfo->u.bss_info.interworking.anqp.anqpParameters,(char*)pString);
Expand Down Expand Up @@ -20816,6 +20817,8 @@ Passpoint_SetParamBoolValue
CcspTraceWarning(("Cannot Enable Passpoint. RFC Disabled\n"));
return FALSE;
}
((CCSP_MESSAGE_BUS_INFO *)bus_handle)->freefunc(strValue);
strValue = NULL;

if(false == vapInfo->u.bss_info.interworking.interworking.interworkingEnabled){
CcspTraceWarning(("Cannot Enable Passpoint. Interworking Disabled\n"));
Expand Down Expand Up @@ -20897,14 +20900,14 @@ Passpoint_SetParamStringValue
wifi_util_dbg_print(WIFI_DMCLI,"%s:%d Invalid json for vap %s\n", __FUNCTION__,__LINE__,pcfg->vap_name);
return FALSE;
}
cJSON_Delete(p_root);
if (strnlen(pString, sizeof(vapInfo->u.bss_info.interworking.passpoint.hs2Parameters)) < sizeof(vapInfo->u.bss_info.interworking.passpoint.hs2Parameters))
{
AnscCopyString((char*)vapInfo->u.bss_info.interworking.passpoint.hs2Parameters,pString);
}
else
{
wifi_util_dbg_print(WIFI_DMCLI,"%s:%d Input string too long for vap %s\n", __FUNCTION__, __LINE__, pcfg->vap_name);
cJSON_Delete(p_root);
return FALSE;
}
set_dml_cache_vap_config_changed(instance_number - 1);
Expand Down
11 changes: 10 additions & 1 deletion source/services/mesh/wifi_service_mesh.c
Original file line number Diff line number Diff line change
Expand Up @@ -1057,8 +1057,14 @@ void process_ext_connected_scan_results(wifi_service_node_t *node, wifi_core_dat
convert_radio_index_to_freq_band(&node->cap->wifi_prop, results->radio_index, (int *)&band);
if ((ext->candidates_list.scan_list == NULL) && num) {
ext->candidates_list.scan_list = (bss_candidate_t *) malloc(num * sizeof(bss_candidate_t));
if (ext->candidates_list.scan_list == NULL) {
ext_set_conn_state(ext, connection_state_connected, __func__, __LINE__);
scheduler_add_timer_task(ctrl->sched, FALSE, &ext->ext_connect_algo_processor_id,
process_ext_connect_algorithm, node,
EXT_CONNECT_ALGO_PROCESSOR_INTERVAL, 1, FALSE);
return;
}
scan_list = ext->candidates_list.scan_list;
ext->candidates_list.scan_count = num;
} else {
wifi_util_dbg_print(WIFI_SERVICES, "%s:%d NULL scan list should not reach this condition\n", __func__, __LINE__);
ext_set_conn_state(ext, connection_state_connected, __func__, __LINE__);
Expand All @@ -1081,10 +1087,13 @@ void process_ext_connected_scan_results(wifi_service_node_t *node, wifi_core_dat
}
tmp_bss++;
}
ext->candidates_list.scan_count = scan_list - ext->candidates_list.scan_list;

if (found_candidate) {
ext_set_conn_state(ext, connection_state_disconnection_in_progress, __func__, __LINE__);
} else {
free(ext->candidates_list.scan_list);
ext->candidates_list.scan_list = NULL;
ext_set_conn_state(ext, connection_state_connected, __func__, __LINE__);
}
scheduler_add_timer_task(ctrl->sched, FALSE, &ext->ext_connect_algo_processor_id,
Expand Down
Loading