[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