diff options
author | Richard Mudgett <rmudgett@digium.com> | 2013-07-26 21:34:23 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2013-07-26 21:34:23 +0000 |
commit | c017d5e6a34fa7e8dc7ba089b5db2338f117c81b (patch) | |
tree | d111b5985f3985ab02a462d4b48467b537163b70 /main/parking.c | |
parent | 50aba6be3654e348960a3bda2312f7a913f5c160 (diff) |
Remove the unsafe bridge parameter from ast_bridge_hook_callback's.
Most hook callbacks did not need the bridge parameter. The pointer value
could become invalid if the channel is moved to another bridge while it is
executing.
* Fixed some issues in feature_attended_transfer() as a result.
* Reduce the bridge inhibit count in
attended_transfer_properties_shutdown() after it has restored the bridge
channel hooks.
* Removed basic bridge requirement on feature_blind_transfer(). It does
not require the basic bridge like feature_attended_transfer().
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@395574 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/parking.c')
-rw-r--r-- | main/parking.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/main/parking.c b/main/parking.c index 820cffdea..710a3c8c7 100644 --- a/main/parking.c +++ b/main/parking.c @@ -147,12 +147,12 @@ void ast_uninstall_bridge_channel_park_func(void) ast_bridge_channel_park_func = NULL; } -int ast_park_blind_xfer(struct ast_bridge *bridge, struct ast_bridge_channel *parker, - struct ast_exten *park_exten) +int ast_park_blind_xfer(struct ast_bridge_channel *parker, struct ast_exten *park_exten) { static int warned = 0; + if (ast_park_blind_xfer_func) { - return ast_park_blind_xfer_func(bridge, parker, park_exten); + return ast_park_blind_xfer_func(parker, park_exten); } if (warned++ % 10 == 0) { |