[asterisk-dev] [Code Review] Fix memory leak in manager.c action originate when using channel variables

Terry Wilson twilson at digium.com
Fri Aug 27 10:16:21 CDT 2010


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/869/#review2643
-----------------------------------------------------------

Ship it!


Looks good, Olle. Thanks!

- Terry


On 2010-08-27 09:32:32, Olle E Johansson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/869/
> -----------------------------------------------------------
> 
> (Updated 2010-08-27 09:32:32)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Summary
> -------
> 
> The originate action supports using channel variables. These are allocated to a variable "vars" but never freed. In the case of asynchronos or "fast" originate, these are handed off as a pointer to the new thread.
> 
> This patch 
>  - Moves the allocation of the variables until after a few checks that will return (to not have to free multiple times).
>  - Frees the variables in originate
>  - copies the variables to the new thread, which frees it's own copy when done
> 
> Separate fix is made for trunk. The function ast_variable_copy really belongs to config.c/h, but since we don't change API in releases, it's in manager.c for now, and will move home in the trunk version. 
> 
> (Have fixed the red dots in my changes)
> 
> ----
> Trunk version now in 
> https://origsvn.digium.com/svn/asterisk/team/oej/bufo-manager-varfix-trunk
> 
> 
> This addresses bug 17891.
>     https://issues.asterisk.org/view.php?id=17891
> 
> 
> Diffs
> -----
> 
>   /branches/1.4/main/manager.c 283800 
> 
> Diff: https://reviewboard.asterisk.org/r/869/diff
> 
> 
> Testing
> -------
> 
> Tested. Crashed. Will update to a working solution.
> 
> 
> Thanks,
> 
> Olle E
> 
>




More information about the asterisk-dev mailing list