summaryrefslogtreecommitdiff
path: root/main/bridge.c
diff options
context:
space:
mode:
authorCorey Farrell <git@cfware.com>2017-12-20 11:23:08 -0500
committerCorey Farrell <git@cfware.com>2017-12-20 11:23:08 -0500
commitaaa3884d4a9859cecc71866e992b490fc28951bb (patch)
treec00367e9f2e4d4ff6e355533a35689a79b6b49a5 /main/bridge.c
parent4815be9aeb17afd650af184a272d73b63ff98774 (diff)
bridge: Old channel video source not set to NULL after unref.
The bridge holds onto the old channel video source after it's been released. This can lead to use after free errors. ASTERISK-27229 #close Change-Id: Ib2dab61677dd8a21f7ad53cdc9b8ca93297838b3
Diffstat (limited to 'main/bridge.c')
-rw-r--r--main/bridge.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/main/bridge.c b/main/bridge.c
index 7a937ea59..88d9e5487 100644
--- a/main/bridge.c
+++ b/main/bridge.c
@@ -3848,7 +3848,7 @@ void ast_bridge_update_talker_src_video_mode(struct ast_bridge *bridge, struct a
data->average_talking_energy = talker_energy;
} else if ((data->average_talking_energy < talker_energy) && is_keyframe) {
if (data->chan_old_vsrc) {
- ast_channel_unref(data->chan_old_vsrc);
+ data->chan_old_vsrc = ast_channel_unref(data->chan_old_vsrc);
}
if (data->chan_vsrc) {
data->chan_old_vsrc = data->chan_vsrc;