From 548d32c7147281f128b02f7d9c6aebb347bb5fb1 Mon Sep 17 00:00:00 2001 From: navyasher Date: Tue, 14 Jul 2026 16:49:25 +0530 Subject: [PATCH] RDKB-65853: Fixing coverity issue Reason for change: Fixing coverity issues. Test Procedure: Build should be successful and the regression test should also succeed Risks: Low Priority: P1 Signed-off-by: Navya_Sheregar@comcast.com --- source/utils/quality_mgr/src/linkq.cpp | 4 +++- source/webconfig/wifi_ovsdb_translator.c | 1 + .../webconfig/wifi_webconfig_em_ap_metrics_report.c | 3 +++ source/webconfig/wifi_webconfig_harvester.c | 4 ++++ source/webconfig/wifi_webconfig_link_report.c | 2 ++ source/webconfig/wifi_webconfig_multivap.c | 12 ++++++++++-- 6 files changed, 23 insertions(+), 3 deletions(-) diff --git a/source/utils/quality_mgr/src/linkq.cpp b/source/utils/quality_mgr/src/linkq.cpp index ced9d07c5..be5ecbc8d 100644 --- a/source/utils/quality_mgr/src/linkq.cpp +++ b/source/utils/quality_mgr/src/linkq.cpp @@ -333,7 +333,9 @@ vector_t linkq_t::run_algorithm(linkq_data_t data, qmgr_invoke_score(mac,v.m_val[10].m_re,m_threshold); } } - m_window_samples.push_back(m_data_sample); + if (qmgr_is_batch_registered()) { + m_window_samples.push_back(m_data_sample); + } if (update_alarm) { alarm = (m_threshold_cross_counter >= ceil(0.8 * m_sampled)); diff --git a/source/webconfig/wifi_ovsdb_translator.c b/source/webconfig/wifi_ovsdb_translator.c index 01e61a79a..67d5ffc39 100644 --- a/source/webconfig/wifi_ovsdb_translator.c +++ b/source/webconfig/wifi_ovsdb_translator.c @@ -1183,6 +1183,7 @@ webconfig_error_t webconfig_ovsdb_encode(webconfig_t *config, wifi_util_dbg_print(WIFI_WEBCONFIG, "%s:%d: No change in config for subdoc type : %d\n", __func__, __LINE__, type); *str = NULL; + webconfig_data_free(&webconfig_ovsdb_data); free_maclist_map(webconfig_ovsdb_data.u.decoded.num_radios, rdk_wifi_radio_state); free(rdk_wifi_radio_state); pthread_mutex_unlock(&webconfig_data_lock); diff --git a/source/webconfig/wifi_webconfig_em_ap_metrics_report.c b/source/webconfig/wifi_webconfig_em_ap_metrics_report.c index 54873198d..99d56c85f 100644 --- a/source/webconfig/wifi_webconfig_em_ap_metrics_report.c +++ b/source/webconfig/wifi_webconfig_em_ap_metrics_report.c @@ -174,6 +174,7 @@ webconfig_error_t decode_em_ap_metrics_report_subdoc(webconfig_t *config, webcon if (em_ap_report_arr == NULL || !cJSON_IsArray(em_ap_report_arr)) { wifi_util_error_print(WIFI_WEBCONFIG, "%s:%d: Invalid or missing EMAPMetricsReport\n", __func__, __LINE__); + cJSON_Delete(json); return webconfig_error_decode; } @@ -182,6 +183,7 @@ webconfig_error_t decode_em_ap_metrics_report_subdoc(webconfig_t *config, webcon if (em_ap_report_obj == NULL) { wifi_util_error_print(WIFI_WEBCONFIG, "%s:%d: Invalid EMAPMetricsReport object at index %d\n", __func__, __LINE__, i); + cJSON_Delete(json); return webconfig_error_decode; } @@ -193,6 +195,7 @@ webconfig_error_t decode_em_ap_metrics_report_subdoc(webconfig_t *config, webcon } params->em_ap_metrics_report.radio_count = i; + cJSON_Delete(json); return webconfig_error_none; } #endif \ No newline at end of file diff --git a/source/webconfig/wifi_webconfig_harvester.c b/source/webconfig/wifi_webconfig_harvester.c index 640820ae8..dd040d284 100644 --- a/source/webconfig/wifi_webconfig_harvester.c +++ b/source/webconfig/wifi_webconfig_harvester.c @@ -120,6 +120,7 @@ webconfig_error_t decode_harvester_subdoc(webconfig_t *config, webconfig_subdoc_ wifi_util_error_print(WIFI_WEBCONFIG, "%s:%d: object:%s not present, validation failed\n", __func__, __LINE__, doc->objects[i].name); wifi_util_error_print(WIFI_WEBCONFIG, "%s\n", (char *)data->u.encoded.raw); + cJSON_Delete(json); return webconfig_error_invalid_subdoc; } } @@ -129,6 +130,7 @@ webconfig_error_t decode_harvester_subdoc(webconfig_t *config, webconfig_subdoc_ if (obj == NULL) { wifi_util_error_print(WIFI_WEBCONFIG, "%s:%d: harvester object not present\n", __func__, __LINE__); wifi_util_error_print(WIFI_WEBCONFIG, "%s\n", (char *)data->u.encoded.raw); + cJSON_Delete(json); return webconfig_error_invalid_subdoc; } @@ -136,9 +138,11 @@ webconfig_error_t decode_harvester_subdoc(webconfig_t *config, webconfig_subdoc_ wifi_util_error_print(WIFI_WEBCONFIG, "%s:%d: harvester object validation failed\n", __func__, __LINE__); wifi_util_error_print(WIFI_WEBCONFIG, "%s\n", (char *)data->u.encoded.raw); + cJSON_Delete(json); return webconfig_error_decode; } wifi_util_info_print(WIFI_WEBCONFIG, "%s:%d: decode success\n", __func__, __LINE__); + cJSON_Delete(json); return webconfig_error_none; } diff --git a/source/webconfig/wifi_webconfig_link_report.c b/source/webconfig/wifi_webconfig_link_report.c index e9481192c..d49a6619c 100644 --- a/source/webconfig/wifi_webconfig_link_report.c +++ b/source/webconfig/wifi_webconfig_link_report.c @@ -149,7 +149,9 @@ webconfig_error_t decode_link_report_subdoc(webconfig_t *config, webconfig_subdo if (decode_link_report(json, &data->u.decoded.qmgr_report) != webconfig_error_none) { /* use qmgr_report */ wifi_util_error_print(WIFI_WEBCONFIG," %s:%d Failed in decoding link report\n",__func__,__LINE__); + cJSON_Delete(json); return webconfig_error_decode; } + cJSON_Delete(json); return webconfig_error_none; } diff --git a/source/webconfig/wifi_webconfig_multivap.c b/source/webconfig/wifi_webconfig_multivap.c index a6222a1bf..4ad82aba5 100644 --- a/source/webconfig/wifi_webconfig_multivap.c +++ b/source/webconfig/wifi_webconfig_multivap.c @@ -398,8 +398,16 @@ webconfig_error_t decode_multivap_subdoc(webconfig_t *config, webconfig_subdoc_d radio_index, vap_array_index); continue; } - wifi_util_dbg_print(WIFI_WEBCONFIG, "%s:%d: radio index: %d , vap name: %s\n%s\n", __func__, - __LINE__, radio_index, name, cJSON_Print(obj_vap)); + str = cJSON_Print(obj_vap); + if (str != NULL) { + json_param_obscure(str, "Passphrase"); + json_param_obscure(str, "RadiusSecret"); + json_param_obscure(str, "SecondaryRadiusSecret"); + json_param_obscure(str, "DasSecret"); + } + wifi_util_dbg_print(WIFI_WEBCONFIG, "%s:%d: radio index: %d , vap name: %s\n%s\n", + __func__, __LINE__, radio_index, name, (str != NULL) ? str : ""); + cJSON_free(str); vap_info = ¶ms->radios[radio_index].vaps.vap_map.vap_array[vap_array_index]; rdk_vap_info = ¶ms->radios[radio_index].vaps.rdk_vap_array[vap_array_index]; memset(vap_info, 0, sizeof(wifi_vap_info_t));