[devel] [PATCH 0/1] Review Request for amf: handle errors identified by codechecker [#3077]

2019-09-02 Thread Gary Lee
Summary: amf: handle errors identified by codechecker [#3077]
Review request for Ticket(s): 3077
Peer Reviewer(s): Minh, Hans
Pull request to: *** LIST THE PERSON WITH PUSH ACCESS HERE ***
Affected branch(es): develop
Development branch: ticket-3077
Base revision: 2bc054ca85b56bc03bdc9be965593b56124aad00
Personal repository: git://git.code.sf.net/u/userid-2226215/review


Impacted area   Impact y/n

 Docsn
 Build systemn
 RPM/packaging   n
 Configuration files n
 Startup scripts n
 SAF servicesy 
 OpenSAF servicesy 
 Core libraries  n
 Samples n
 Tests   n
 Other   n


Comments (indicate scope for each "y" above):
-

revision 24b75d78a013c554d5f9731e69a7150c11217ad7
Author: Gary Lee 
Date:   Tue, 3 Sep 2019 12:06:36 +1000

amf: handle errors identified by codechecker [#3077]

add assertions where pointers should not be null
fix a couple of typos



Complete diffstat:
--
 src/amf/amfd/comp.cc   |  1 +
 src/amf/amfd/csi.cc|  3 ++-
 src/amf/amfd/cstype.cc |  2 ++
 src/amf/amfd/hlt.cc|  1 +
 src/amf/amfd/nodeswbundle.cc   |  2 +-
 src/amf/amfd/ntf.cc|  1 +
 src/amf/amfd/sg_npm_fsm.cc | 34 +++---
 src/amf/amfd/sg_nway_fsm.cc|  2 +-
 src/amf/amfd/sgproc.cc |  1 +
 src/amf/amfd/su.cc |  1 +
 src/amf/amfd/sutype.cc |  3 ++-
 src/amf/amfd/svctype.cc|  1 +
 src/amf/amfd/svctypecstypes.cc |  1 +
 src/amf/amfnd/cbq.cc   |  2 ++
 src/amf/amfnd/clc.cc   |  1 +
 src/amf/amfnd/comp.cc  |  4 
 src/amf/amfnd/compdb.cc|  2 +-
 src/amf/amfnd/susm.cc  | 11 +++
 18 files changed, 53 insertions(+), 20 deletions(-)


Testing Commands:
-
*** LIST THE COMMAND LINE TOOLS/STEPS TO TEST YOUR CHANGES ***


Testing, Expected Results:
--
*** PASTE COMMAND OUTPUTS / TEST RESULTS ***


Conditions of Submission:
-
*** HOW MANY DAYS BEFORE PUSHING, CONSENSUS ETC ***


Arch  Built StartedLinux distro
---
mipsn  n
mips64  n  n
x86 n  n
x86_64  y  y 
powerpc n  n
powerpc64   n  n


Reviewer Checklist:
---
[Submitters: make sure that your review doesn't trigger any checkmarks!]


Your checkin has not passed review because (see checked entries):

___ Your RR template is generally incomplete; it has too many blank entries
that need proper data filled in.

___ You have failed to nominate the proper persons for review and push.

___ Your patches do not have proper short+long header

___ You have grammar/spelling in your header that is unacceptable.

___ You have exceeded a sensible line length in your headers/comments/text.

___ You have failed to put in a proper Trac Ticket # into your commits.

___ You have incorrectly put/left internal data in your comments/files
(i.e. internal bug tracking tool IDs, product names etc)

___ You have not given any evidence of testing beyond basic build tests.
Demonstrate some level of runtime or other sanity testing.

___ You have ^M present in some of your files. These have to be removed.

___ You have needlessly changed whitespace or added whitespace crimes
like trailing spaces, or spaces before tabs.

___ You have mixed real technical changes with whitespace and other
cosmetic code cleanup changes. These have to be separate commits.

___ You need to refactor your submission into logical chunks; there is
too much content into a single commit.

___ You have extraneous garbage in your review (merge commits etc)

___ You have giant attachments which should never have been sent;
Instead you should place your content in a public tree to be pulled.

___ You have too many commits attached to an e-mail; resend as threaded
commits, or place in a public tree for a pull.

___ You have resent this content multiple times without a clear indication
of what has changed between each re-send.

___ You have failed to adequately and individually address all of the
comments and change requests that were proposed in the initial review.

___ You have a misconfigured ~/.gitconfig file (i.e. user.name, user.email etc)

___ Your computer have a badly configured date and time; confusing the
the threaded patch review.

___ Your changes affect IPC mechanism, and you don't present any results
for in-service upgradability test.

___ Your changes affect user manual and documentation, your patch series
do not contain the patch that updates the Doxygen manual.



___
Opensaf-devel mailing list
Opensaf-devel@lists.sourcefor

[devel] [PATCH 1/1] amf: handle errors identified by codechecker [#3077]

2019-09-02 Thread Gary Lee
add assertions where pointers should not be null
fix a couple of typos
---
 src/amf/amfd/comp.cc   |  1 +
 src/amf/amfd/csi.cc|  3 ++-
 src/amf/amfd/cstype.cc |  2 ++
 src/amf/amfd/hlt.cc|  1 +
 src/amf/amfd/nodeswbundle.cc   |  2 +-
 src/amf/amfd/ntf.cc|  1 +
 src/amf/amfd/sg_npm_fsm.cc | 34 +++---
 src/amf/amfd/sg_nway_fsm.cc|  2 +-
 src/amf/amfd/sgproc.cc |  1 +
 src/amf/amfd/su.cc |  1 +
 src/amf/amfd/sutype.cc |  3 ++-
 src/amf/amfd/svctype.cc|  1 +
 src/amf/amfd/svctypecstypes.cc |  1 +
 src/amf/amfnd/cbq.cc   |  2 ++
 src/amf/amfnd/clc.cc   |  1 +
 src/amf/amfnd/comp.cc  |  4 
 src/amf/amfnd/compdb.cc|  2 +-
 src/amf/amfnd/susm.cc  | 11 +++
 18 files changed, 53 insertions(+), 20 deletions(-)

diff --git a/src/amf/amfd/comp.cc b/src/amf/amfd/comp.cc
index 0ff365e..5c6a283 100644
--- a/src/amf/amfd/comp.cc
+++ b/src/amf/amfd/comp.cc
@@ -2117,6 +2117,7 @@ static void comp_ccb_apply_modify_hdlr(struct 
CcbUtilOperationData *opdata) {
   attribute->attrValuesNumber);
 
 if (!strcmp(attribute->attrName, "saAmfCompType")) {
+  osafassert(value != nullptr);
   SaNameT *dn = (SaNameT *)value;
   const std::string oldType(comp->saAmfCompType);
   if (oldType.compare(Amf::to_string(dn)) == 0) {
diff --git a/src/amf/amfd/csi.cc b/src/amf/amfd/csi.cc
index f7e3730..1856610 100644
--- a/src/amf/amfd/csi.cc
+++ b/src/amf/amfd/csi.cc
@@ -913,7 +913,8 @@ static void ccb_apply_delete_hdlr(CcbUtilOperationData_t 
*opdata) {
 goto done;
   }
 
-  TRACE("'%s'", csi ? csi->name.c_str() : nullptr);
+  osafassert(csi != nullptr);
+  TRACE("'%s'", csi->name.c_str());
 
   /* Check whether si has been assigned to any SU. */
   if ((nullptr != csi->si->list_of_sisu) && (csi->compcsi_cnt != 0)) {
diff --git a/src/amf/amfd/cstype.cc b/src/amf/amfd/cstype.cc
index cadc6df..683d3cd 100644
--- a/src/amf/amfd/cstype.cc
+++ b/src/amf/amfd/cstype.cc
@@ -62,6 +62,7 @@ static AVD_CS_TYPE *cstype_create(const std::string &dn,
  * @param cst
  */
 static void cstype_delete(AVD_CS_TYPE *cst) {
+  osafassert(cst != nullptr);
   cstype_db->erase(cst->name);
   cst->saAmfCSAttrName.clear();
   delete cst;
@@ -205,6 +206,7 @@ static SaAisErrorT 
cstype_ccb_completed_hdlr(CcbUtilOperationData_t *opdata) {
 opdata->userData = nullptr;
 break;
   }
+  osafassert(cst != nullptr);
   if (cst->list_of_csi != nullptr) {
 /* check whether there exists a delete operation for
  * each of the CSI in the cs_type list in the current CCB
diff --git a/src/amf/amfd/hlt.cc b/src/amf/amfd/hlt.cc
index 27863db..4c2737e 100644
--- a/src/amf/amfd/hlt.cc
+++ b/src/amf/amfd/hlt.cc
@@ -75,6 +75,7 @@ static SaAisErrorT 
ccb_completed_delete_hdlr(CcbUtilOperationData_t *opdata) {
 opdata->userData = nullptr;
 goto done;
   }
+  osafassert(comp != nullptr);
   for (curr_susi = comp->su->list_of_susi; curr_susi != nullptr;
curr_susi = curr_susi->su_next)
 for (compcsi = curr_susi->list_of_csicomp; compcsi;
diff --git a/src/amf/amfd/nodeswbundle.cc b/src/amf/amfd/nodeswbundle.cc
index 4ab79f7..cf280cb 100644
--- a/src/amf/amfd/nodeswbundle.cc
+++ b/src/amf/amfd/nodeswbundle.cc
@@ -125,7 +125,7 @@ static int is_swbdl_delete_ok(const std::string &bundle_dn,
   if (node == nullptr && avd_cb->is_active() == false) {
 return 1;
   }
-
+  osafassert(node != nullptr);
   if (!is_swbdl_delete_ok_for_node(bundle_dn, node_dn, node->list_of_ncs_su,
opdata))
 return 0;
diff --git a/src/amf/amfd/ntf.cc b/src/amf/amfd/ntf.cc
index eb2654a..52ee745 100644
--- a/src/amf/amfd/ntf.cc
+++ b/src/amf/amfd/ntf.cc
@@ -505,6 +505,7 @@ SaAisErrorT avd_try_send_notification(NtfSend* job) {
 &myntf->notification.alarmNotification.notificationHandle;
   }
 
+  osafassert(notificationHandle != nullptr);
   // Try to send the notification if not sent.
   if (job->already_sent == false) {
 rc = saNtfNotificationSend(*notificationHandle);
diff --git a/src/amf/amfd/sg_npm_fsm.cc b/src/amf/amfd/sg_npm_fsm.cc
index 0ef094d..0e91eb5 100644
--- a/src/amf/amfd/sg_npm_fsm.cc
+++ b/src/amf/amfd/sg_npm_fsm.cc
@@ -2773,23 +2773,26 @@ static uint32_t avd_sg_npm_susi_sucss_si_oper(AVD_CL_CB 
*cb, AVD_SU *su,
* modify standby all to the Quiesced SU. Remove the SI from
* admin pointer and add the quiesced SU to the SU oper list.
*/
-  if (su->sg_of_su->admin_si->list_of_sisu == i_susi) {
-o_susi = i_susi->si_next;
-  } else {
-o_susi = su->sg_of_su->admin_si->list_of_sisu;
-  }
+  i_susi = avd_su_susi_find(cb, su, su->sg_of_su->admin_si->name);
+  if (i_susi != nullptr) {
+if (su->sg_of_su->admin_si->list_of_sisu == i_susi) {
+  o_susi = i_susi->si_next;
+} el