Changeset 249487 in webkit


Ignore:
Timestamp:
Sep 4, 2019 11:13:02 AM (5 years ago)
Author:
Patrick Griffis
Message:

[WPE][GTK] Fix sandbox parsing DISPLAY on X11
https://bugs.webkit.org/show_bug.cgi?id=201462

Reviewed by Michael Catanzaro.

On some setups the DISPLAY env var was incorrectly parsed.

  • UIProcess/Launcher/glib/BubblewrapLauncher.cpp:

(WebKit::bindX11):

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r249486 r249487  
     12019-09-04  Patrick Griffis  <pgriffis@igalia.com>
     2
     3        [WPE][GTK] Fix sandbox parsing DISPLAY on X11
     4        https://bugs.webkit.org/show_bug.cgi?id=201462
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        On some setups the DISPLAY env var was incorrectly parsed.
     9
     10        * UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
     11        (WebKit::bindX11):
     12
    1132019-09-04  Brian Burg  <bburg@apple.com>
    214
  • trunk/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp

    r246344 r249487  
    295295{
    296296    const char* display = g_getenv("DISPLAY");
    297     if (!display || display[0] != ':' || !g_ascii_isdigit(const_cast<char*>(display)[1]))
    298         display = ":0";
    299     GUniquePtr<char> x11File(g_strdup_printf("/tmp/.X11-unix/X%s", display + 1));
    300     bindIfExists(args, x11File.get(), BindFlags::ReadWrite);
     297    if (display && display[0] == ':' && g_ascii_isdigit(const_cast<char*>(display)[1])) {
     298        const char* displayNumber = &display[1];
     299        const char* displayNumberEnd = displayNumber;
     300        while (g_ascii_isdigit(*displayNumberEnd))
     301            displayNumberEnd++;
     302
     303        GUniquePtr<char> displayString(g_strndup(displayNumber, displayNumberEnd - displayNumber));
     304        GUniquePtr<char> x11File(g_strdup_printf("/tmp/.X11-unix/X%s", displayString.get()));
     305        bindIfExists(args, x11File.get(), BindFlags::ReadWrite);
     306    }
    301307
    302308    const char* xauth = g_getenv("XAUTHORITY");
Note: See TracChangeset for help on using the changeset viewer.