From 9ef3a8263098c6a32db8b824aabf85587d1f1140 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 16 Nov 2017 14:36:33 +0100 Subject: Fix access after free on shutdown After we keep around the browser-context after the profile is deleted it was keeping pointers to deleted objects and would sometimes use them on shutdown. Change-Id: Ib67d0ee0b27cb1a1b64d9b8b4c348ed418b9bbc3 Reviewed-by: Peter Varga Reviewed-by: Michal Klocek --- src/webenginewidgets/api/qwebengineprofile.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/webenginewidgets/api/qwebengineprofile.cpp') diff --git a/src/webenginewidgets/api/qwebengineprofile.cpp b/src/webenginewidgets/api/qwebengineprofile.cpp index f120ae51e..e1e72aa45 100644 --- a/src/webenginewidgets/api/qwebengineprofile.cpp +++ b/src/webenginewidgets/api/qwebengineprofile.cpp @@ -154,12 +154,19 @@ QWebEngineBrowserContext::QWebEngineBrowserContext(QSharedPointersetRequestInterceptor(nullptr); browserContextRef->removeClient(m_profile); + m_profile = 0; } QWebEngineProfilePrivate::QWebEngineProfilePrivate(QSharedPointer browserContext) @@ -181,6 +188,8 @@ QWebEngineProfilePrivate::~QWebEngineProfilePrivate() } m_ongoingDownloads.clear(); + if (m_browserContext) + m_browserContext->shutdown(); } QSharedPointer QWebEngineProfilePrivate::browserContext() const -- cgit v1.2.3