Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 84d583b6a22beacdf79831377549aeadaf510f3a
      
https://github.com/WebKit/WebKit/commit/84d583b6a22beacdf79831377549aeadaf510f3a
  Author: Ben Nham <[email protected]>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

  Changed paths:
    M Source/WebKit/webpushd/WebPushDaemon.mm

  Log Message:
  -----------
  Fix crash in WebPushDaemon::connectionRemoved
https://bugs.webkit.org/show_bug.cgi?id=278109
rdar://133806943

Reviewed by Brady Eidson.

In 282035@main I changed how PushClientConnection creation occurs by 
introducing a pending
connection set. This can cause a crash in WebPushDaemon::connectionRemoved when 
an invalid
connection is detected. In that case, we remove the connection from 
pendingConnectionSet in
connectionEventHandler, which then eventually triggers the connectionRemoved 
callback to run. When
the connectionRemoved callback runs, it cannot find the XPC connection in 
either the pending
connection set or the connection map, leading to a crash.

Fix this by allowing connectionRemoved to ignore the case where the passed in 
connection is in
neither the pending connection set nor the connection map.

* Source/WebKit/webpushd/WebPushDaemon.mm:
(WebPushD::WebPushDaemon::connectionEventHandler):
(WebPushD::WebPushDaemon::connectionRemoved):

Canonical link: https://commits.webkit.org/282244@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