Title: [257158] trunk/Source/WebKit
Revision
257158
Author
[email protected]
Date
2020-02-21 13:19:12 -0800 (Fri, 21 Feb 2020)

Log Message

REGRESSION (r255533) Null Deref of _sessionWrapper under [WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]
https://bugs.webkit.org/show_bug.cgi?id=208029
<rdar://problem/59404381>

Reviewed by Tim Horton.

r255533 started dereferencing _sessionWrapper without null check in didReceiveChallenge. All other delegates in this file null check
_sessionWrapper before using it because it is a weak pointer. Add a null check to avoid crashing.

* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate sessionFromTask:]):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (257157 => 257158)


--- trunk/Source/WebKit/ChangeLog	2020-02-21 21:12:03 UTC (rev 257157)
+++ trunk/Source/WebKit/ChangeLog	2020-02-21 21:19:12 UTC (rev 257158)
@@ -1,3 +1,17 @@
+2020-02-21  Chris Dumez  <[email protected]>
+
+        REGRESSION (r255533) Null Deref of _sessionWrapper under [WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]
+        https://bugs.webkit.org/show_bug.cgi?id=208029
+        <rdar://problem/59404381>
+
+        Reviewed by Tim Horton.
+
+        r255533 started dereferencing _sessionWrapper without null check in didReceiveChallenge. All other delegates in this file null check
+        _sessionWrapper before using it because it is a weak pointer. Add a null check to avoid crashing.
+
+        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+        (-[WKNetworkSessionDelegate sessionFromTask:]):
+
 2020-02-21  Wenson Hsieh  <[email protected]>
 
         Address post-review feedback in webkit.org/b/207352

Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm (257157 => 257158)


--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm	2020-02-21 21:12:03 UTC (rev 257157)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm	2020-02-21 21:19:12 UTC (rev 257158)
@@ -613,6 +613,9 @@
     if (auto* networkDataTask = [self existingTask:task])
         return static_cast<NetworkSessionCocoa*>(networkDataTask->networkSession());
 
+    if (!_sessionWrapper)
+        return nullptr;
+
     if (auto downloadID = _sessionWrapper->downloadMap.get(task.taskIdentifier)) {
         if (auto download = _session->networkProcess().downloadManager().download(downloadID))
             return static_cast<NetworkSessionCocoa*>(_session->networkProcess().networkSession(download->sessionID()));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to