Branch: refs/heads/webkitglib/2.54
Home: https://github.com/WebKit/WebKit
Commit: 762a2621fc6c9d0167a96b577ac053db86554987
https://github.com/WebKit/WebKit/commit/762a2621fc6c9d0167a96b577ac053db86554987
Author: Claudio Saavedra <[email protected]>
Date: 2026-10-02 (Fri, 02 Oct 2026)
Changed paths:
M Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
Log Message:
-----------
Cherry-pick 322488@main (9f57a507c5dd).
https://bugs.webkit.org/show_bug.cgi?id=326070
REGRESSION(309394@main): [GLib] Web process launch aborts for unix:
PULSE_SERVER values and abstract D-Bus addresses
https://bugs.webkit.org/show_bug.cgi?id=326070
Reviewed by Adrian Perez de Castro.
Two conversions from C string handling to spans in 309394@main lose
information at the edges of the string:
bindPulse() takes the socket path with span().subspan(5), which drops the
null terminator, so UTF8CStringView::fromUTF8() fails its RELEASE_ASSERT and
the UI process aborts as soon as a web process is launched with
PULSE_SERVER=unix:/path. Take the subspan from
spanIncludingNullTerminator().
directoryContainingDBusSocket() tests the result of StringView::find() for
truth, but notFound is SIZE_MAX. For a unix: address without a path=
component, such as the unix:abstract= addresses dbus-launch produces, the
offset wraps to 4 and the function hands bubblewrap a relative path under
the
current directory, which does not exist. The xdg-dbus-proxy launch then
fails
and the UI process aborts with "Failed to fully launch dbus-proxy". Compare
against notFound, restoring the pre-309394@main behaviour of binding
nothing.
* Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::bindPulse):
(WebKit::directoryContainingDBusSocket):
Canonical link: https://commits.webkit.org/322488@main
Canonical link: https://commits.webkit.org/317695.389@webkitglib/2.54
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications