[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 20 05:50:03 CDT 2010
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/869/
-----------------------------------------------------------
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)
This addresses bug 17891.
https://issues.asterisk.org/view.php?id=17891
Diffs
-----
/branches/1.4/main/manager.c 282966
Diff: https://reviewboard.asterisk.org/r/869/diff
Testing
-------
Thanks,
Olle E
More information about the asterisk-dev
mailing list