Hi Hoang Vo,
ACK , Not tested.
By the way which GCC/tool given these warnings ?
-AVM
On 6/13/2016 9:20 AM, Hoang Vo wrote:
> osaf/services/saf/cpsv/cpd/cpd_db.c | 8 ++---
> osaf/services/saf/cpsv/cpd/cpd_evt.c | 4 +-
> osaf/services/saf/cpsv/cpd/cpd_imm.c | 2 +-
> osaf/services/saf/cpsv/cpd/cpd_tmr.c | 2 +-
> osaf/services/saf/cpsv/cpnd/cpnd_evt.c | 49
> ++++++++++++++++----------------
> osaf/services/saf/cpsv/cpnd/cpnd_proc.c | 2 +-
> 6 files changed, 32 insertions(+), 35 deletions(-)
>
>
> This enhancement fix following warning results from cppcheck 1.74:
> Either the condition is redundant or there is possible null pointer
> dereference
>
> This enhancement does not fix following warnings when they are not problems:
> Possible null pointer dereference
> Style and performance warnings
>
> diff --git a/osaf/services/saf/cpsv/cpd/cpd_db.c
> b/osaf/services/saf/cpsv/cpd/cpd_db.c
> --- a/osaf/services/saf/cpsv/cpd/cpd_db.c
> +++ b/osaf/services/saf/cpsv/cpd/cpd_db.c
> @@ -843,12 +843,10 @@ uint32_t cpd_cpnd_info_node_delete(CPD_C
> }
>
> /* Free the Client Node */
> - if (cpnd_info_node) {
> - if (cpnd_info_node->cpnd_ret_timer.uarg)
> - ncshm_destroy_hdl(NCS_SERVICE_ID_CPD,
> cpnd_info_node->cpnd_ret_timer.uarg);
> + if (cpnd_info_node->cpnd_ret_timer.uarg)
> + ncshm_destroy_hdl(NCS_SERVICE_ID_CPD,
> cpnd_info_node->cpnd_ret_timer.uarg);
>
> - m_MMGR_FREE_CPD_CPND_INFO_NODE(cpnd_info_node);
> - }
> + m_MMGR_FREE_CPD_CPND_INFO_NODE(cpnd_info_node);
>
> return rc;
>
> diff --git a/osaf/services/saf/cpsv/cpd/cpd_evt.c
> b/osaf/services/saf/cpsv/cpd/cpd_evt.c
> --- a/osaf/services/saf/cpsv/cpd/cpd_evt.c
> +++ b/osaf/services/saf/cpsv/cpd/cpd_evt.c
> @@ -1439,7 +1439,7 @@ static uint32_t cpd_evt_proc_mds_evt(CPD
> /* No Checkpoints on this node, */
> TRACE_LEAVE();
> return NCSCC_RC_SUCCESS;
> - } else if (node_info &&
> (node_info->ckpt_ref_list == NULL)) {
> + } else if (node_info->ckpt_ref_list == NULL) {
> cpd_cpnd_info_node_delete(cb,
> node_info);
> TRACE_LEAVE();
> return NCSCC_RC_SUCCESS;
> @@ -1453,7 +1453,7 @@ static uint32_t cpd_evt_proc_mds_evt(CPD
> /* No Checkpoints on this node, */
> return NCSCC_RC_SUCCESS;
> }
> - else if (node_info && (node_info->ckpt_ref_list
> == NULL)) {
> + else if (node_info->ckpt_ref_list == NULL) {
> cpd_cpnd_info_node_delete(cb,
> node_info);
> TRACE_LEAVE();
> return NCSCC_RC_SUCCESS;
> diff --git a/osaf/services/saf/cpsv/cpd/cpd_imm.c
> b/osaf/services/saf/cpsv/cpd/cpd_imm.c
> --- a/osaf/services/saf/cpsv/cpd/cpd_imm.c
> +++ b/osaf/services/saf/cpsv/cpd/cpd_imm.c
> @@ -904,7 +904,7 @@ SaUint32T cpd_get_scAbsenceAllowed_attr(
>
> /* Handle the global scAbsenceAllowed_flag */
> attribute = attributes[0];
> - TRACE("%s attrName \"%s\"",__FUNCTION__,attribute->attrName);
> + TRACE("%s attrName
> \"%s\"",__FUNCTION__,attribute?attribute->attrName:"");
> if ((attribute != NULL) && (attribute->attrValuesNumber != 0)) {
> /* scAbsenceAllowed has value. Get the value */
> value = attribute->attrValues[0];
> diff --git a/osaf/services/saf/cpsv/cpd/cpd_tmr.c
> b/osaf/services/saf/cpsv/cpd/cpd_tmr.c
> --- a/osaf/services/saf/cpsv/cpd/cpd_tmr.c
> +++ b/osaf/services/saf/cpsv/cpd/cpd_tmr.c
> @@ -42,7 +42,7 @@ void cpd_timer_expiry(NCSCONTEXT uarg)
> CPSV_EVT *evt = NULL;
> uint32_t cpd_hdl = m_CPD_GET_CB_HDL;
>
> - TRACE("cpd_timer_expiry(uarg=%p, type=%u)", uarg, tmr->type);
> + TRACE("cpd_timer_expiry(uarg=%p, type=%u)", uarg, tmr ? tmr->type : 0);
>
> /* post a message to the corresponding component */
> if ((cb = (CPD_CB *)ncshm_take_hdl(NCS_SERVICE_ID_CPD, cpd_hdl)) ==
> NULL)
> diff --git a/osaf/services/saf/cpsv/cpnd/cpnd_evt.c
> b/osaf/services/saf/cpsv/cpnd/cpnd_evt.c
> --- a/osaf/services/saf/cpsv/cpnd/cpnd_evt.c
> +++ b/osaf/services/saf/cpsv/cpnd/cpnd_evt.c
> @@ -753,7 +753,7 @@ static uint32_t cpnd_evt_proc_ckpt_open(
> send_evt.info.cpa.info.openRsp.error = SA_AIS_ERR_NO_MEMORY;
> goto agent_rsp;
> }
> - if (out_evt && out_evt->info.cpnd.info.ckpt_info.error != SA_AIS_OK) {
> + if (out_evt->info.cpnd.info.ckpt_info.error != SA_AIS_OK) {
> send_evt.info.cpa.info.openRsp.error =
> out_evt->info.cpnd.info.ckpt_info.error;
> goto agent_rsp;
> }
> @@ -866,10 +866,8 @@ static uint32_t cpnd_evt_proc_ckpt_open(
> goto ckpt_shm_node_free_error;
> }
> }
> - if (out_evt) {
> - cpnd_evt_destroy(out_evt);
> - out_evt = NULL;
> - }
> + cpnd_evt_destroy(out_evt);
> + out_evt = NULL;
>
> /* if not the first collocated replica, response will come from
> REP_ADD processing */
>
> @@ -2498,20 +2496,18 @@ static uint32_t cpnd_evt_proc_ckpt_sect_
>
> /* Send the arrival callback */
> memset(&ckpt_data, '\0', sizeof(CPSV_CKPT_DATA));
> - if (sec_info) {
> - ckpt_data.sec_id = sec_info->sec_id;
> - ckpt_data.data = NULL;
> - ckpt_data.dataSize = 0;
> - ckpt_data.dataOffset = 0;
> -
> - memset(&ckpt_access, '\0', sizeof(CPSV_CKPT_ACCESS));
> - ckpt_access.ckpt_id = cp_node->ckpt_id;
> - ckpt_access.lcl_ckpt_id =
> evt->info.sec_delReq.lcl_ckpt_id;
> - ckpt_access.agent_mdest =
> evt->info.sec_delReq.agent_mdest;
> - ckpt_access.num_of_elmts = 1;
> - ckpt_access.data = &ckpt_data;
> - cpnd_proc_ckpt_arrival_info_ntfy(cb, cp_node,
> &ckpt_access, sinfo);
> - }
> + ckpt_data.sec_id = sec_info->sec_id;
> + ckpt_data.data = NULL;
> + ckpt_data.dataSize = 0;
> + ckpt_data.dataOffset = 0;
> +
> + memset(&ckpt_access, '\0', sizeof(CPSV_CKPT_ACCESS));
> + ckpt_access.ckpt_id = cp_node->ckpt_id;
> + ckpt_access.lcl_ckpt_id = evt->info.sec_delReq.lcl_ckpt_id;
> + ckpt_access.agent_mdest = evt->info.sec_delReq.agent_mdest;
> + ckpt_access.num_of_elmts = 1;
> + ckpt_access.data = &ckpt_data;
> + cpnd_proc_ckpt_arrival_info_ntfy(cb, cp_node, &ckpt_access,
> sinfo);
>
> if (cp_node->cpnd_dest_list != NULL) {
> /* yes ,go trough cp_node->cpnd_dest_list(sync send) */
> @@ -3958,11 +3954,7 @@ static uint32_t cpnd_proc_cpd_new_active
> break;
> }
>
> - if (node)
> - m_MMGR_FREE_CPND_CPD_DEFERRED_REQ_NODE(node);
> -
> - node = NULL;
> -
> + m_MMGR_FREE_CPND_CPD_DEFERRED_REQ_NODE(node);
> node = (CPND_CPD_DEFERRED_REQ_NODE
> *)ncs_dequeue(&cb->cpnd_cpd_deferred_reqs_list);
> }
> TRACE_LEAVE();
> @@ -4668,7 +4660,7 @@ static uint32_t cpnd_transfer_replica(CP
>
> while (1) {
>
> - if (((tmp_sec_info) && ((size + tmp_sec_info->sec_size) >
> MAX_SYNC_TRANSFER_SIZE))
> + if (((size + tmp_sec_info->sec_size) > MAX_SYNC_TRANSFER_SIZE)
> || (total_num == cp_node->replica_info.n_secs)) {
>
> send_evt.info.cpnd.info.ckpt_nd2nd_sync.num_of_elmts =
> num;
> @@ -4726,6 +4718,13 @@ static uint32_t cpnd_transfer_replica(CP
> total_num++;
>
> tmp_sec_info = cpnd_ckpt_sec_get_next(&cp_node->replica_info,
> tmp_sec_info);
> + if (tmp_sec_info == NULL) {
> + rc = NCSCC_RC_FAILURE;
> + TRACE_4("cpnd ckpt memory get next allocation failed");
> + send_evt.info.cpnd.info.ckpt_nd2nd_sync.data = sec_data;
> +
> cpnd_proc_free_cpsv_ckpt_data(send_evt.info.cpnd.info.ckpt_nd2nd_sync.data);
> + return rc;
> + }
> }
>
> TRACE_LEAVE();
> diff --git a/osaf/services/saf/cpsv/cpnd/cpnd_proc.c
> b/osaf/services/saf/cpsv/cpnd/cpnd_proc.c
> --- a/osaf/services/saf/cpsv/cpnd/cpnd_proc.c
> +++ b/osaf/services/saf/cpsv/cpnd/cpnd_proc.c
> @@ -2778,7 +2778,7 @@ SaUint32T cpnd_get_scAbsenceAllowed_attr
>
> /* Handle the global scAbsenceAllowed_flag */
> attribute = attributes[0];
> - TRACE("%s attrName \"%s\"",__FUNCTION__,attribute->attrName);
> + TRACE("%s attrName
> \"%s\"",__FUNCTION__,attribute?attribute->attrName:"");
> if ((attribute != NULL) && (attribute->attrValuesNumber != 0)) {
> /* scAbsenceAllowed has value. Get the value */
> value = attribute->attrValues[0];
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel