[sr-dev] memory leak in memcached module

Daniel-Constantin Mierla miconda at gmail.com
Fri Oct 4 16:04:26 CEST 2013


Hello,

On 10/4/13 2:43 PM, Henning Westerholt wrote:
> Am Freitag, 4. Oktober 2013, 12:16:32 schrieb Charles Chance:
>> Sorry hit reply only, first time.
>>
>> Would you like me still to update to use mcd_free or leave it with you?
> Hi Charles,
>
> just commit the patch, looks good for me. The only small thing I noticed is
> that you changed the indention in the variable definition in pv_set_mcd_expire
> from tabs to space, would be great if you could adapt this.
>
> With regards to the other wrapper (mcd_free) that Daniel mentioned, this is
> only used as callback function for the library. I'll clarify this in the
> comments that this is the purpose of this code.
my comment was related to the fact that I haven't seen an explicit 
pkg_malloc() for the returned value from the libmacached function. I 
assumed it is going to use the callback mcd_malloc(), based on 
libmemcached api docs, which say that the result has to be released by 
caller.

 From that perspective, as the result is allocated with mcd_malloc(), it 
looks more consistent if is going to be freed with mcd_free(). A change 
in mcd_malloc() would naturally trigger an appropriate change in 
mcd_free() (e.g., using shm_malloc() instead of pkg_malloc()), while now 
if someone changes mcd_malloc() and mcd_free() would have to know that 
has to change the pkg_free() in the other part of the code.

So, in short, using pkg_free() now solves the issue, it is ok, just that 
doesn't look coherent.

Cheers,
Daniel

-- 
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Trainings - Berlin, Nov 25-28; Miami, Nov 18-20, 2013
   - more details about Kamailio trainings at http://www.asipto.com -




More information about the sr-dev mailing list