Dear Mahesh, Thank you very much for your comments.
Because the coredump occur when ckpt_node->node_users_cnt is not updated correctly to the number of node_user so we count here to handle that mismatch. Might it possible to keep using like currently? Sincerely, Hoang -----Original Message----- From: A V Mahesh [mailto:mahesh.va...@oracle.com] Sent: Wednesday, November 16, 2016 11:00 AM To: Vo Minh Hoang <hoang.m...@dektech.com.au>; anders.wid...@ericsson.com Cc: opensaf-devel@lists.sourceforge.net Subject: Re: [PATCH 1 of 1] fix crash problem by checking null pointer before accessing its detail Hi Hoang Vo, >>Please let me know if you have any further inquiry. Can you please also make the fix more readable replace `for (count = 0; count < ckpt_node->node_users_cnt; count++) {` some thing like `for (node_user = ckpt_node->node_users; node_user != NULL; node_user = node_user->next) {` then, we can remove variable `int count = 0;`, move `cpd_msg.info.usr_info_2.node_users_cnt = ckpt_node->node_users_cnt;` after for () loop. -AVM On 11/16/2016 9:14 AM, Vo Minh Hoang wrote: > Dear Mahesh, > > I am sorry that I cannot share the test steps because I cannot > reproduce it in local environment. > I've just received the coredump information point directly to this > part, reviewed source code and found that pointer using is unsafe so I correct it. > > Please let me know if you have any further inquiry. > > Thank you and best regard, > Hoang > > -----Original Message----- > From: A V Mahesh [mailto:mahesh.va...@oracle.com] > Sent: Wednesday, November 16, 2016 10:22 AM > To: Hoang Vo <hoang.m...@dektech.com.au>; anders.wid...@ericsson.com > Cc: opensaf-devel@lists.sourceforge.net > Subject: Re: [PATCH 1 of 1] fix crash problem by checking null pointer > before accessing its detail > > Hi Hoang Vo, > > On 11/15/2016 12:57 PM, Hoang Vo wrote: >> Testing Commands: >> ----------------- >> >> >> Testing, Expected Results: >> -------------------------- >> > Can you please share test case . > > -AVM > > On 11/15/2016 12:57 PM, Hoang Vo wrote: >> osaf/services/saf/cpsv/cpd/cpd_red.c | 5 +++++ >> 1 files changed, 5 insertions(+), 0 deletions(-) >> >> >> diff --git a/osaf/services/saf/cpsv/cpd/cpd_red.c > b/osaf/services/saf/cpsv/cpd/cpd_red.c >> --- a/osaf/services/saf/cpsv/cpd/cpd_red.c >> +++ b/osaf/services/saf/cpsv/cpd/cpd_red.c >> @@ -322,6 +322,11 @@ void cpd_a2s_ckpt_usr_info(CPD_CB *cb, C >> memset(cpd_msg.info.usr_info_2.node_list, '\0', > (sizeof(CPD_NODE_USER_INFO) * ckpt_node->node_users_cnt)); >> >> for (count = 0; count < ckpt_node->node_users_cnt; count++) > { >> + if (node_user == NULL) { >> + ckpt_node->node_users_cnt = count; >> + cpd_msg.info.usr_info_2.node_users_cnt = > count; >> + break; >> + } >> cpd_msg.info.usr_info_2.node_list[count].dest = > node_user->dest; >> cpd_msg.info.usr_info_2.node_list[count].num_users = > node_user->num_users; >> cpd_msg.info.usr_info_2.node_list[count].num_readers > = node_user->num_readers; > > ------------------------------------------------------------------------------ _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel