Btw, Pablo, since I remember I refer to the EFD library on my membership 
implementation, does EFD have similar memory leakage issue that not releasing 
te when failure?

Thanks

>-----Original Message-----
>From: Wang, Yipeng1
>Sent: Thursday, December 21, 2017 4:01 PM
>To: Burakov, Anatoly <anatoly.bura...@intel.com>; dev@dpdk.org
>Cc: Gobriel, Sameh <sameh.gobr...@intel.com>
>Subject: RE: [PATCH] member: fix memory leak on error
>
>Thank you Anatoly for finding this issue. In the code I tried to reuse the
>rte_member_free function to free memory but it may not be executed
>through.
>
>Because of this, I may not properly release setsum struct neither. I will post 
>a
>fix for both soon.
>
>Thanks
>
>>-----Original Message-----
>>From: Burakov, Anatoly
>>Sent: Thursday, December 21, 2017 9:51 AM
>>To: dev@dpdk.org
>>Cc: Wang, Yipeng1 <yipeng1.w...@intel.com>; Gobriel, Sameh
>><sameh.gobr...@intel.com>
>>Subject: [PATCH] member: fix memory leak on error
>>
>>rte_member may have allocated a tailq entry before failure, so
>>free it.
>>
>>Fixes: 857ed6c68cf2 ("member: implement main API")
>>Cc: yipeng1.w...@intel.com
>>Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com>
>>---
>> lib/librte_member/rte_member.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>>diff --git a/lib/librte_member/rte_member.c
>>b/lib/librte_member/rte_member.c
>>index cc9ea84..569fff9 100644
>>--- a/lib/librte_member/rte_member.c
>>+++ b/lib/librte_member/rte_member.c
>>@@ -191,6 +191,7 @@ rte_member_create(const struct
>>rte_member_parameters *params)
>>      return setsum;
>>
>> error_unlock_exit:
>>+     rte_free(te);
>>      rte_rwlock_write_unlock(RTE_EAL_TAILQ_RWLOCK);
>>      rte_member_free(setsum);
>>      return NULL;
>>--
>>2.7.4

Reply via email to