[sr-dev] git:master: core/parser: Free rr correctly in error cases

Daniel-Constantin Mierla miconda at gmail.com
Thu Aug 14 18:30:55 CEST 2014


Hi Hugh,

I followed up with another patch 
(34ba948cdabf7139c8563e531f18c4a486b31a00) because free_rr() takes a 
rr_t** parameter and it was giving r which is rr_t*.

Now it takes &r -- have a quick look to double check if its what you 
expected.

Cheers,
Daniel

On 13/08/14 10:34, Hugh Waite wrote:
> Module: sip-router
> Branch: master
> Commit: b40d92962b680ac29dd38ffe3c8f1aa1e39d3a97
> URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=b40d92962b680ac29dd38ffe3c8f1aa1e39d3a97
>
> Author: Hugh Waite <hugh.waite at acision.com>
> Committer: Hugh Waite <hugh.waite at acision.com>
> Date:   Tue Aug 12 19:56:45 2014 +0100
>
> core/parser: Free rr correctly in error cases
>
> - Fix potential memory leak if parameters are parsed into rr structure
>
> ---
>
>   parser/parse_rr.c |    2 +-
>   1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/parser/parse_rr.c b/parser/parse_rr.c
> index fd6d3d9..bba0f7a 100644
> --- a/parser/parse_rr.c
> +++ b/parser/parse_rr.c
> @@ -138,7 +138,7 @@ static inline int do_parse_rr_body(char *buf, int len, rr_t **head)
>   	}
>   
>    error:
> -	if (r) pkg_free(r);
> +	if (r) free_rr(r);
>   	free_rr(head); /* Free any contacts created so far */
>   	return -1;
>   
>
>
> _______________________________________________
> sr-dev mailing list
> sr-dev at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Next Kamailio Advanced Trainings 2014 - http://www.asipto.com
Sep 22-25, Berlin, Germany ::: Oct 15-17, San Francisco, USA




More information about the sr-dev mailing list