Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 674611789255a98f96b4504c7d04034e0ae5908a
      
https://github.com/WebKit/WebKit/commit/674611789255a98f96b4504c7d04034e0ae5908a
  Author: Chris Dumez <[email protected]>
  Date:   2025-07-21 (Mon, 21 Jul 2025)

  Changed paths:
    M Source/WebKit/Platform/IPC/Connection.cpp
    M Source/WebKit/Platform/IPC/Connection.h

  Log Message:
  -----------
  Crash under 
WTF::Detail::CallableWrapper<IPC::Connection::dispatchDidCloseAndInvalidate()::$_0,
 void>::call
https://bugs.webkit.org/show_bug.cgi?id=296276
rdar://156192754

Reviewed by Darin Adler.

We were holding a CheckedPtr to the IPC::Connection::Client on the stack when
calling `didClose()`. However, calling `didClose()` can cause the Client object
to get destroyed. To address the issue, hold a RefPtr to the Client object
instead.

* Source/WebKit/Platform/IPC/Connection.cpp:
(IPC::Connection::dispatchSyncMessage):
(IPC::Connection::dispatchDidReceiveInvalidMessage):
(IPC::Connection::dispatchDidCloseAndInvalidate):
(IPC::Connection::enqueueIncomingMessage):
(IPC::Connection::dispatchMessage):
* Source/WebKit/Platform/IPC/Connection.h:
(IPC::Connection::protectedClient const):
(IPC::Connection::waitForAndDispatchImmediately):
(IPC::Connection::checkedClient const): Deleted.

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to