summaryrefslogtreecommitdiff
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 10:26:38 -0600
commitbe3800c49d4a47527175d377a430ff16b87d0bb1 (patch)
treee55cf653ee51819df585c6b730640863ac2009f4
parent616659d62012a1dc5eb69376f35d2c89fceaf6ea (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
-rw-r--r--main/bridge.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/main/bridge.c b/main/bridge.c
index 5e065fb35..8284fd3af 100644
--- a/main/bridge.c
+++ b/main/bridge.c
@@ -3808,7 +3808,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;