Hi Zoran, ACK.
Sincerely, Hoang -----Original Message----- From: A V Mahesh [mailto:[email protected]] Sent: Wednesday, January 11, 2017 11:07 AM To: Zoran Milinkovic <[email protected]> Cc: [email protected] Subject: Re: [devel] [PATCH 1 of 1] ckpt: fix memory leak in saCkptCheckpointRead [#2256] Hi Zoran, ACK Not tested. -AVM On 1/10/2017 9:58 PM, Zoran Milinkovic wrote: > src/ckpt/agent/cpa_proc.c | 22 ++++++++++++++++------ > 1 files changed, 16 insertions(+), 6 deletions(-) > > > Allocated memory in cpa_proc_build_data_access_evt() is freed. > > diff --git a/src/ckpt/agent/cpa_proc.c b/src/ckpt/agent/cpa_proc.c > --- a/src/ckpt/agent/cpa_proc.c > +++ b/src/ckpt/agent/cpa_proc.c > @@ -1124,11 +1124,13 @@ uint32_t cpa_proc_build_data_access_evt( > SaSizeT maxSectionSize, SaUint32T *errflag, CPSV_CKPT_DATA **ckpt_data) > { > CPSV_CKPT_DATA *tmp_ckpt_data = NULL; > + *ckpt_data = NULL; > if (numberOfElements > 0) { > while (numberOfElements > 0) { > tmp_ckpt_data = m_MMGR_ALLOC_CPSV_CKPT_DATA; > - if (tmp_ckpt_data == NULL) > - return NCSCC_RC_FAILURE; > + if (tmp_ckpt_data == NULL) { > + goto free_mem; > + } > memset(tmp_ckpt_data, '\0', sizeof(CPSV_CKPT_DATA)); > > switch (data_access_type) { > @@ -1150,7 +1152,7 @@ uint32_t cpa_proc_build_data_access_evt( > ioVector[numberOfElements - 1].dataSize) > maxSectionSize) { > if (errflag != NULL) > *errflag = (numberOfElements - 1); > - return NCSCC_RC_FAILURE; > + goto free_mem; > } else > tmp_ckpt_data->dataSize = ioVector[numberOfElements - 1].dataSize; > } > @@ -1159,7 +1161,7 @@ uint32_t cpa_proc_build_data_access_evt( > break; > > default: > - return NCSCC_RC_FAILURE; > + goto free_mem; > } > > if (*ckpt_data == NULL) > @@ -1171,9 +1173,17 @@ uint32_t cpa_proc_build_data_access_evt( > numberOfElements--; > } > return NCSCC_RC_SUCCESS; > - } else { > - return NCSCC_RC_FAILURE; > } > + > +free_mem: > + free(tmp_ckpt_data); > + while(*ckpt_data) { > + tmp_ckpt_data = *ckpt_data; > + *ckpt_data = tmp_ckpt_data->next; > + m_MMGR_FREE_CPSV_CKPT_DATA(tmp_ckpt_data); > + } > + > + return NCSCC_RC_FAILURE; > } > > > /********************************************************************* > ******* ---------------------------------------------------------------------------- -- Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today. http://sdm.link/xeonphi _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel ------------------------------------------------------------------------------ Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today. http://sdm.link/xeonphi _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
