Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9f57a507c5dd77bb445cabe10176368bcadcfbd4
      
https://github.com/WebKit/WebKit/commit/9f57a507c5dd77bb445cabe10176368bcadcfbd4
  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:
  -----------
  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



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

Reply via email to