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