Title: [249638] releases/WebKitGTK/webkit-2.26/Source/WebKit
Revision
249638
Author
carlo...@webkit.org
Date
2019-09-09 01:51:05 -0700 (Mon, 09 Sep 2019)

Log Message

Merge r249487 - [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):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.26/Source/WebKit/ChangeLog (249637 => 249638)


--- releases/WebKitGTK/webkit-2.26/Source/WebKit/ChangeLog	2019-09-09 08:50:50 UTC (rev 249637)
+++ releases/WebKitGTK/webkit-2.26/Source/WebKit/ChangeLog	2019-09-09 08:51:05 UTC (rev 249638)
@@ -1,3 +1,15 @@
+2019-09-04  Patrick Griffis  <pgrif...@igalia.com>
+
+        [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):
+
 2019-09-06  Carlos Garcia Campos  <cgar...@igalia.com>
 
         Unreviewed. Disable PSON in GTK port

Modified: releases/WebKitGTK/webkit-2.26/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp (249637 => 249638)


--- releases/WebKitGTK/webkit-2.26/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp	2019-09-09 08:50:50 UTC (rev 249637)
+++ releases/WebKitGTK/webkit-2.26/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp	2019-09-09 08:51:05 UTC (rev 249638)
@@ -294,11 +294,17 @@
 static void bindX11(Vector<CString>& args)
 {
     const char* display = g_getenv("DISPLAY");
-    if (!display || display[0] != ':' || !g_ascii_isdigit(const_cast<char*>(display)[1]))
-        display = ":0";
-    GUniquePtr<char> x11File(g_strdup_printf("/tmp/.X11-unix/X%s", display + 1));
-    bindIfExists(args, x11File.get(), BindFlags::ReadWrite);
+    if (display && display[0] == ':' && g_ascii_isdigit(const_cast<char*>(display)[1])) {
+        const char* displayNumber = &display[1];
+        const char* displayNumberEnd = displayNumber;
+        while (g_ascii_isdigit(*displayNumberEnd))
+            displayNumberEnd++;
 
+        GUniquePtr<char> displayString(g_strndup(displayNumber, displayNumberEnd - displayNumber));
+        GUniquePtr<char> x11File(g_strdup_printf("/tmp/.X11-unix/X%s", displayString.get()));
+        bindIfExists(args, x11File.get(), BindFlags::ReadWrite);
+    }
+
     const char* xauth = g_getenv("XAUTHORITY");
     if (!xauth) {
         const char* homeDir = g_get_home_dir();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to