ACK

-AVM


On 8/23/2016 2:11 PM, 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
> @@ -842,12 +842,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
> @@ -1434,7 +1434,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;
> @@ -1448,7 +1448,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
> @@ -1014,7 +1014,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
> @@ -759,7 +759,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;
>       }
> @@ -872,10 +872,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 */
>   
> @@ -2523,20 +2521,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) */
> @@ -3984,11 +3980,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();
> @@ -4708,7 +4700,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;
> @@ -4766,6 +4758,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
> @@ -2817,7 +2817,7 @@ static SaUint32T cpnd_get_imm_attr(char
>       void *value;
>   
>       attribute = attributes[0];
> -     TRACE("%s attrName \"%s\"",__FUNCTION__,attribute->attrName);
> +     TRACE("%s attrName 
> \"%s\"",__FUNCTION__,attribute?attribute->attrName:"");
>       if ((attribute != NULL) && (attribute->attrValuesNumber != 0)) {
>               value = attribute->attrValues[0];
>               rc_attr_val = *((SaUint32T *) value);


------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to