Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Unified Diff: extensions/browser/api/display_source/wifi_display/wifi_display_session_service_impl.cc

Issue 2513053003: Fix double-free in displaySource API (Closed)
Patch Set: . Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « extensions/browser/api/display_source/wifi_display/wifi_display_session_service_impl.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/browser/api/display_source/wifi_display/wifi_display_session_service_impl.cc
diff --git a/extensions/browser/api/display_source/wifi_display/wifi_display_session_service_impl.cc b/extensions/browser/api/display_source/wifi_display/wifi_display_session_service_impl.cc
index e135093abff529984b804f83930bf6ed731abebb..daa01211d484b776d5a95808b1992eeb323edab0 100644
--- a/extensions/browser/api/display_source/wifi_display/wifi_display_session_service_impl.cc
+++ b/extensions/browser/api/display_source/wifi_display/wifi_display_session_service_impl.cc
@@ -41,9 +41,9 @@ void WiFiDisplaySessionServiceImpl::BindToRequest(
DisplaySourceConnectionDelegateFactory::GetForBrowserContext(
browser_context);
CHECK(delegate);
- mojo::MakeStrongBinding(std::unique_ptr<WiFiDisplaySessionServiceImpl>(
- new WiFiDisplaySessionServiceImpl(delegate)),
- std::move(request));
+ auto* impl = new WiFiDisplaySessionServiceImpl(delegate);
+ impl->binding_ =
+ mojo::MakeStrongBinding(base::WrapUnique(impl), std::move(request));
}
void WiFiDisplaySessionServiceImpl::SetClient(
@@ -200,7 +200,7 @@ void WiFiDisplaySessionServiceImpl::OnDisconnectFailed(
void WiFiDisplaySessionServiceImpl::OnClientConnectionError() {
DLOG(ERROR) << "IPC connection error";
- delete this;
+ binding_.Close();
}
} // namespace extensions
« no previous file with comments | « extensions/browser/api/display_source/wifi_display/wifi_display_session_service_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698