Title: [244030] trunk/Source/WebKit
- Revision
- 244030
- Author
- achristen...@apple.com
- Date
- 2019-04-08 11:45:15 -0700 (Mon, 08 Apr 2019)
Log Message
REGRESSION(236463) DownloadManager can call a null CompletionHandler
https://bugs.webkit.org/show_bug.cgi?id=196414
<rdar://problem/48389434>
Reviewed by Geoff Garen.
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::convertToDownload):
DownloadManager::continueDecidePendingDownloadDestination is being called when there is no completion handler.
r236463 introduced an unchecked code path that can allow this to happen.
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (244029 => 244030)
--- trunk/Source/WebKit/ChangeLog 2019-04-08 18:09:33 UTC (rev 244029)
+++ trunk/Source/WebKit/ChangeLog 2019-04-08 18:45:15 UTC (rev 244030)
@@ -1,3 +1,16 @@
+2019-04-08 Alex Christensen <achristen...@webkit.org>
+
+ REGRESSION(236463) DownloadManager can call a null CompletionHandler
+ https://bugs.webkit.org/show_bug.cgi?id=196414
+ <rdar://problem/48389434>
+
+ Reviewed by Geoff Garen.
+
+ * NetworkProcess/NetworkResourceLoader.cpp:
+ (WebKit::NetworkResourceLoader::convertToDownload):
+ DownloadManager::continueDecidePendingDownloadDestination is being called when there is no completion handler.
+ r236463 introduced an unchecked code path that can allow this to happen.
+
2019-04-07 Commit Queue <commit-qu...@webkit.org>
Unreviewed, rolling out r243956.
Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp (244029 => 244030)
--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp 2019-04-08 18:09:33 UTC (rev 244029)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp 2019-04-08 18:45:15 UTC (rev 244030)
@@ -321,8 +321,8 @@
return;
}
- ASSERT(m_responseCompletionHandler);
- m_connection->networkProcess().downloadManager().convertNetworkLoadToDownload(downloadID, std::exchange(m_networkLoad, nullptr), WTFMove(m_responseCompletionHandler), WTFMove(m_fileReferences), request, response);
+ if (m_responseCompletionHandler)
+ m_connection->networkProcess().downloadManager().convertNetworkLoadToDownload(downloadID, std::exchange(m_networkLoad, nullptr), WTFMove(m_responseCompletionHandler), WTFMove(m_fileReferences), request, response);
}
void NetworkResourceLoader::abort()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes