Branch: refs/heads/webkitglib/2.52
  Home:   https://github.com/WebKit/WebKit
  Commit: e4dea8efd15fa98fe78fb25eeef8082fc81338df
      
https://github.com/WebKit/WebKit/commit/e4dea8efd15fa98fe78fb25eeef8082fc81338df
  Author: Rupin Mittal <[email protected]>
  Date:   2026-03-12 (Thu, 12 Mar 2026)

  Changed paths:
    M Source/WebKit/NetworkProcess/NetworkProcess.cpp

  Log Message:
  -----------
  Cherry-pick 309114@main (f43860e90c4c). 
https://bugs.webkit.org/show_bug.cgi?id=309695

    StabilityTracer: Crash in callback of async IPC sent by 
WebKit::NetworkProcess::findPendingDownloadLocation
    https://bugs.webkit.org/show_bug.cgi?id=309695
    rdar://172248665

    Reviewed by Ben Nham and Per Arne Vollan.

    It looks like the crash is due to a null pointer deference. It seems like 
the
    completion handler on this line:

    return completionHandler(PolicyAction::Ignore);

    in NetworkProcess::findPendingDownloadLocation is null.

    This completion handler is called as part of the reply of the async IPC to 
sent to
    DownloadProxy::DecideDestinationWithSuggestedFilename.

    Given that NetworkProcess::findPendingDownloadLocation receives the 
completionHandler
    as an rvalue reference and then moves it into the lambda, it's likely not 
null to
    begin with. But the IPC message is sent with the IPC::Connection* returned 
by
    downloadProxyConnection(), which can be a nullptr. That would cause 
undefined behavior
    and could result in this crash.

    So we speculatively fix this by early returning if the connection doesn't 
exist.

    * Source/WebKit/NetworkProcess/NetworkProcess.cpp:
    (WebKit::NetworkProcess::findPendingDownloadLocation):

    Canonical link: https://commits.webkit.org/309114@main

Canonical link: https://commits.webkit.org/305877.183@webkitglib/2.52



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to