[asterisk-dev] [Code Review] Fix memory leak in manager.c action originate when using channel variables
    Olle E Johansson 
    oej at edvina.net
       
    Fri Aug 27 09:32:32 CDT 2010
    
    
  
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/869/
-----------------------------------------------------------
(Updated 2010-08-27 09:32:32.678289)
Review request for Asterisk Developers.
Changes
-------
Updated after my discussion with Mr Wilson. 
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 (updated)
-----
  /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