[arch-commits] Commit in gnome-terminal/trunk (2 files)

Jan Steffens heftig at archlinux.org
Fri Mar 27 22:07:15 UTC 2020


    Date: Friday, March 27, 2020 @ 22:07:13
  Author: heftig
Revision: 378576

3.36.1-2

Added:
  gnome-terminal/trunk/0001-screen-Don-t-dereference-data-unchecked.patch
Modified:
  gnome-terminal/trunk/PKGBUILD

----------------------------------------------------+
 0001-screen-Don-t-dereference-data-unchecked.patch |   71 +++++++++++++++++++
 PKGBUILD                                           |   12 ++-
 2 files changed, 80 insertions(+), 3 deletions(-)

Added: 0001-screen-Don-t-dereference-data-unchecked.patch
===================================================================
--- 0001-screen-Don-t-dereference-data-unchecked.patch	                        (rev 0)
+++ 0001-screen-Don-t-dereference-data-unchecked.patch	2020-03-27 22:07:13 UTC (rev 378576)
@@ -0,0 +1,71 @@
+From 07197c413c19e9aa51ccd29051889307650bede7 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Fri, 27 Mar 2020 21:59:16 +0000
+Subject: [PATCH] screen: Don't dereference data unchecked
+
+It might be NULL. Here, it causes Terminal to crash when opening a new
+tab.
+
+    #0  terminal_screen_reexec_from_exec_data (error=0x0, cancellable=0x0, cwd=<optimized out>, envv=0x0, data=0x0, screen=0x55c26b5e6a10) at terminal-screen.c:859
+            __func__ = "terminal_screen_reexec_from_screen"
+    #1  terminal_screen_reexec_from_screen (screen=screen at entry=0x55c26b5e6a10, parent_screen=parent_screen at entry=0x55c26b5e67f0, cancellable=cancellable at entry=0x0, error=error at entry=0x0) at terminal-screen.c:859
+            __func__ = "terminal_screen_reexec_from_screen"
+    #2  0x000055c2694b644f in action_new_terminal_cb (action=<optimized out>, parameter=<optimized out>, user_data=0x55c26b5e43b0) at terminal-window.c:409
+            window = 0x55c26b5e43b0
+            priv = <optimized out>
+            app = <optimized out>
+            profiles_list = <optimized out>
+            profile = 0x7fbee8003e10
+            can_toggle = <optimized out>
+            __func__ = "action_new_terminal_cb"
+            mode_str = 0x55c26b318dc0 "tab"
+            uuid_str = 0x55c26b318dc4 "current"
+            mode = TERMINAL_NEW_TERMINAL_MODE_TAB
+            parent_screen = 0x55c26b5e67f0
+            screen = 0x55c26b5e6a10
+    #3  0x00007fbf0538f61a in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
+    #4  0x00007fbf0537097e in  () at /usr/lib/libgobject-2.0.so.0
+    #5  0x00007fbf05373ab9 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
+    #6  0x00007fbf053756b0 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
+    #7  0x00007fbf05440c5e in  () at /usr/lib/libgio-2.0.so.0
+    #8  0x00007fbf05441271 in g_action_activate () at /usr/lib/libgio-2.0.so.0
+    #9  0x00007fbf05aae63f in  () at /usr/lib/libgtk-3.so.0
+    #10 0x00007fbf05aae675 in  () at /usr/lib/libgtk-3.so.0
+    #11 0x00007fbf05aae675 in  () at /usr/lib/libgtk-3.so.0
+    #12 0x00007fbf05807093 in gtk_window_activate_key () at /usr/lib/libgtk-3.so.0
+    #13 0x00007fbf0580c013 in  () at /usr/lib/libgtk-3.so.0
+    #14 0x00007fbf05abde1c in  () at /usr/lib/libgtk-3.so.0
+    #15 0x00007fbf053740a0 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
+    #16 0x00007fbf053756b0 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
+    #17 0x00007fbf05826c26 in  () at /usr/lib/libgtk-3.so.0
+    #18 0x00007fbf0596d14a in  () at /usr/lib/libgtk-3.so.0
+    #19 0x00007fbf0597061c in gtk_main_do_event () at /usr/lib/libgtk-3.so.0
+    #20 0x00007fbf05680f84 in  () at /usr/lib/libgdk-3.so.0
+    #21 0x00007fbf05650454 in  () at /usr/lib/libgdk-3.so.0
+    #22 0x00007fbf052949be in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
+    #23 0x00007fbf05296831 in  () at /usr/lib/libglib-2.0.so.0
+    #24 0x00007fbf05296871 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
+    #25 0x00007fbf0544d2de in g_application_run () at /usr/lib/libgio-2.0.so.0
+    #26 0x000055c2694961f5 in main (argc=<optimized out>, argv=<optimized out>) at server.c:190
+            app = 0x55c26b5a8180
+            r = 0
+---
+ src/terminal-screen.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/terminal-screen.c b/src/terminal-screen.c
+index f1475c41..33fbb5df 100644
+--- a/src/terminal-screen.c
++++ b/src/terminal-screen.c
+@@ -828,7 +828,7 @@ terminal_screen_reexec_from_exec_data (TerminalScreen *screen,
+                                envv ? envv : data ? data->envv : NULL,
+                                data ? data->as_shell : TRUE,
+                                /* If we have command line args, must always pass the cwd from the command line, too */
+-                               data->argv ? data->cwd : cwd ? cwd : data ? data->cwd : NULL,
++                               data && data->argv ? data->cwd : cwd ? cwd : data ? data->cwd : NULL,
+                                NULL /* fd list */, NULL /* fd array */,
+                                NULL, NULL, NULL, /* callback + data + destroy notify */
+                                cancellable,
+-- 
+2.25.2
+

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-03-27 21:42:36 UTC (rev 378575)
+++ PKGBUILD	2020-03-27 22:07:13 UTC (rev 378576)
@@ -3,7 +3,7 @@
 
 pkgname=gnome-terminal
 pkgver=3.36.1
-pkgrel=1
+pkgrel=2
 pkgdesc="The GNOME Terminal Emulator"
 url="https://wiki.gnome.org/Apps/Terminal"
 arch=(x86_64)
@@ -13,8 +13,10 @@
              gnome-shell vala yelp-tools git)
 groups=(gnome)
 _commit=c428fb95b47a71743c166f89d1371e9ef327230d  # tags/3.36.1^0
-source=("git+https://gitlab.gnome.org/GNOME/gnome-terminal.git#commit=$_commit")
-sha256sums=('SKIP')
+source=("git+https://gitlab.gnome.org/GNOME/gnome-terminal.git#commit=$_commit"
+        0001-screen-Don-t-dereference-data-unchecked.patch)
+sha256sums=('SKIP'
+            'aeb8b02bdfdd02321fdb376964d25338d64b8cc7f6d9e3522eb018246b2e82cf')
 
 pkgver() {
   cd $pkgname
@@ -23,6 +25,10 @@
 
 prepare() {
   cd $pkgname
+  
+  # Fix crash on tab open
+  git apply -3 ../0001-screen-Don-t-dereference-data-unchecked.patch
+
   NOCONFIGURE=1 ./autogen.sh
 }
 



More information about the arch-commits mailing list