Commit 7e4894e1 authored by Yuwei Huang's avatar Yuwei Huang Committed by Commit Bot

[remoting host] Free ftl_echo_message_listener_ before signal_strategy_

Currently ftl_echo_message_listener_ is never explicitly freed, and it
calls `signal_strategy_->RemoveListener(this)` in its dtor, while
signal_strategy_ is freed in HostProcess::OnHostOfflineReasonAck. This
causes a use-after-free issue when the ftl_echo_message_listener_ is
explicitly freed, which means the host would crash in shutdown and soft
restart.

This CL frees ftl_echo_message_listener_ before signal_strategy_ is
freed.

Bug: 1090595
Change-Id: Ie546a9084fdf21545ecd9158b9830cc93335ecb7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2227265
Commit-Queue: Yuwei Huang <yuweih@chromium.org>
Commit-Queue: Jamie Walch <jamiewalch@chromium.org>
Auto-Submit: Yuwei Huang <yuweih@chromium.org>
Reviewed-by: default avatarJamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#774426}
parent 4c7c3bb3
......@@ -1618,6 +1618,7 @@ void HostProcess::OnHostOfflineReasonAck(bool success) {
heartbeat_sender_.reset();
oauth_token_getter_.reset();
ftl_signaling_connector_.reset();
ftl_echo_message_listener_.reset();
signal_strategy_.reset();
if (state_ == HOST_GOING_OFFLINE_TO_RESTART) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment