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 Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel