Hi, Still we can right the code, I just checked the code, follow the way `node_user = node_user->next` is used in other occurrence part of the code.
-AVM On 11/16/2016 12:16 PM, Vo Minh Hoang wrote: > 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