osaf/services/saf/amf/amfnd/cbq.cc | 13 ++++++++++---
osaf/services/saf/amf/amfnd/chc.cc | 10 +++++++---
2 files changed, 17 insertions(+), 6 deletions(-)
* Unchecked return value (CHECKED_RETURN)
* Logically dead code (DEADCODE)
* Dereference null return value (NULL_RETURNS)
diff --git a/osaf/services/saf/amf/amfnd/cbq.cc
b/osaf/services/saf/amf/amfnd/cbq.cc
--- a/osaf/services/saf/amf/amfnd/cbq.cc
+++ b/osaf/services/saf/amf/amfnd/cbq.cc
@@ -413,6 +413,7 @@
if (!csi) {
AVND_COMP_CSI_REC *temp_csi = NULL;
temp_csi = m_AVND_COMPDB_REC_CSI_GET_FIRST(*comp);
+ osafassert(temp_csi);
if (cbk_rec->cbk_info->param.csi_set.ha !=
temp_csi->si->curr_state) {
@@ -892,8 +893,8 @@
return rec;
error:
- if (rec)
- avnd_comp_cbq_rec_del(cb, comp, rec);
+ // rec will be non-NULL
+ avnd_comp_cbq_rec_del(cb, comp, rec);
return 0;
}
@@ -958,15 +959,20 @@
void avnd_comp_cbq_finalize(AVND_CB *cb, AVND_COMP *comp, SaAmfHandleT hdl,
MDS_DEST *dest)
{
AVND_COMP_CBK *curr = (comp)->cbk_list, *prv = 0;
+ uint32_t rc = NCSCC_RC_SUCCESS;
/* scan the entire comp-cbk list & delete the matching records */
while (curr) {
+ osafassert(curr->cbk_info);
if ((curr->cbk_info->hdl == hdl) && !memcmp(&curr->dest, dest,
sizeof(MDS_DEST))) {
if (curr->cbk_info && (curr->cbk_info->type ==
AVSV_AMF_COMP_TERM)
&& (!m_AVND_COMP_TYPE_IS_PROXIED(comp))) {
m_AVND_COMP_TERM_FAIL_SET(comp);
m_AVND_SEND_CKPT_UPDT_ASYNC_UPDT(cb, comp,
AVND_CKPT_COMP_FLAG_CHANGE);
- avnd_comp_clc_fsm_run(cb, comp,
AVND_COMP_CLC_PRES_FSM_EV_CLEANUP);
+ rc = avnd_comp_clc_fsm_run(cb, comp,
AVND_COMP_CLC_PRES_FSM_EV_CLEANUP);
+ if (rc != NCSCC_RC_SUCCESS) {
+ LOG_ER("%s: '%s' cleanup failed",
__FUNCTION__, comp->name.value);
+ }
}
avnd_comp_cbq_rec_pop_and_del(cb, comp, curr, true);
@@ -1091,6 +1097,7 @@
if (!csi) {
AVND_COMP_CSI_REC *temp_csi = NULL;
temp_csi =
m_AVND_COMPDB_REC_CSI_GET_FIRST(*comp);
+ osafassert(temp_csi);
if (cbk->cbk_info->param.csi_set.ha !=
temp_csi->si->curr_state) {
avnd_comp_cbq_rec_pop_and_del(cb, comp, cbk, true);
diff --git a/osaf/services/saf/amf/amfnd/chc.cc
b/osaf/services/saf/amf/amfnd/chc.cc
--- a/osaf/services/saf/amf/amfnd/chc.cc
+++ b/osaf/services/saf/amf/amfnd/chc.cc
@@ -543,8 +543,7 @@
return rec;
err:
- if (rec)
- avnd_comp_hc_rec_del(cb, comp, rec);
+ avnd_comp_hc_rec_del(cb, comp, rec);
TRACE_LEAVE();
return 0;
}
@@ -565,6 +564,8 @@
******************************************************************************/
void avnd_comp_hc_rec_del(AVND_CB *cb, AVND_COMP *comp, AVND_COMP_HC_REC *rec)
{
+ uint32_t rc = NCSCC_RC_SUCCESS;
+
/* remove the association with hdl-mngr */
if (rec->opq_hdl)
ncshm_destroy_hdl(NCS_SERVICE_ID_AVND, rec->opq_hdl);
@@ -575,7 +576,10 @@
}
/* unlink from the comp-hc list */
- m_AVND_COMPDB_REC_HC_REM(*comp, *rec);
+ rc = m_AVND_COMPDB_REC_HC_REM(*comp, *rec);
+ if (rc != NCSCC_RC_SUCCESS) {
+ LOG_ER("Failed to unlink from comp-hc list: %u", rc);
+ }
/* free the record */
delete rec;
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT
organizations don't have a clear picture of how application performance
affects their revenue. With AppDynamics, you get 100% visibility into your
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel