diff options
author | Corey Farrell <git@cfware.com> | 2017-12-20 11:23:08 -0500 |
---|---|---|
committer | Corey Farrell <git@cfware.com> | 2017-12-20 10:26:38 -0600 |
commit | be3800c49d4a47527175d377a430ff16b87d0bb1 (patch) | |
tree | e55cf653ee51819df585c6b730640863ac2009f4 | |
parent | 616659d62012a1dc5eb69376f35d2c89fceaf6ea (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.c | 2 |
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; |