diff --git a/ibus-1385349-segv-bus-proxy.patch b/ibus-1385349-segv-bus-proxy.patch index 1f16094..0f8006d 100644 --- a/ibus-1385349-segv-bus-proxy.patch +++ b/ibus-1385349-segv-bus-proxy.patch @@ -1,6 +1,6 @@ -From c093fec83da277c79f31e09b1b910d35bd4135c8 Mon Sep 17 00:00:00 2001 +From f6d31621404dc8716bddd0588402fbdde4f5fb73 Mon Sep 17 00:00:00 2001 From: fujiwarat -Date: Sat, 25 Jun 2022 19:46:01 +0900 +Date: Thu, 3 Nov 2022 08:59:41 +0900 Subject: [PATCH] Fix SEGV in bus_panel_proxy_focus_in() rhbz#1350291 SEGV in BUS_IS_CONNECTION(skip_connection) in @@ -238,7 +238,7 @@ index fd1f34fb..57c061ba 100644 /* FIXME: set destroy callback ? */ g_task_return_pointer (data->task, engine, NULL); diff --git a/client/x11/main.c b/client/x11/main.c -index fe30c1d6..49595b6d 100644 +index 6057cc03..12e9012c 100644 --- a/client/x11/main.c +++ b/client/x11/main.c @@ -45,6 +45,7 @@ @@ -249,7 +249,7 @@ index fe30c1d6..49595b6d 100644 #include -@@ -1121,7 +1122,12 @@ _atexit_cb () +@@ -1148,7 +1149,12 @@ _atexit_cb () static void _sighandler (int sig) { @@ -296,7 +296,7 @@ index a6f2e8e6..b7a04081 100644 m_panel.load_settings(); } diff --git a/ui/gtk3/switcher.vala b/ui/gtk3/switcher.vala -index a4529c88..29a70dd5 100644 +index 9400e9ba..2ecbdac1 100644 --- a/ui/gtk3/switcher.vala +++ b/ui/gtk3/switcher.vala @@ -140,8 +140,8 @@ class Switcher : Gtk.Window { @@ -308,9 +308,9 @@ index a4529c88..29a70dd5 100644 + assert(m_loop == null); + assert(index < engines.length); - m_is_running = true; - m_keyval = keyval; -@@ -198,16 +198,18 @@ class Switcher : Gtk.Window { + if (m_is_running) + return index; +@@ -200,16 +200,18 @@ class Switcher : Gtk.Window { null, event, null); @@ -338,7 +338,7 @@ index a4529c88..29a70dd5 100644 #else Gdk.Device device = event.get_device(); if (device == null) { -@@ -243,30 +245,41 @@ class Switcher : Gtk.Window { +@@ -245,30 +247,41 @@ class Switcher : Gtk.Window { Gdk.EventMask.KEY_RELEASE_MASK, null, Gdk.CURRENT_TIME); @@ -400,5 +400,5 @@ index a4529c88..29a70dd5 100644 #if VALA_0_34 seat.ungrab(); -- -2.35.3 +2.37.3 diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch index f886852..9f57a0d 100644 --- a/ibus-HEAD.patch +++ b/ibus-HEAD.patch @@ -289,3 +289,32 @@ index 7981de38..28ae04ad 100644 -- 2.37.3 +From cd621f8b82c80a174cd880cb27f27d7ccb9cb4d4 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 3 Nov 2022 08:36:17 +0900 +Subject: [PATCH] ui/gtk3/switcher: Avoid to unref m_engines with double run + +m_engines could be a buffer overflow if switcher.run() is called +again and m_engines is unrefed durling showing the swicher popup. + +BUG=rhbz#2081055 +--- + ui/gtk3/switcher.vala | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ui/gtk3/switcher.vala b/ui/gtk3/switcher.vala +index a4529c88..9400e9ba 100644 +--- a/ui/gtk3/switcher.vala ++++ b/ui/gtk3/switcher.vala +@@ -143,6 +143,8 @@ class Switcher : Gtk.Window { + assert (m_loop == null); + assert (index < engines.length); + ++ if (m_is_running) ++ return index; + m_is_running = true; + m_keyval = keyval; + m_modifiers = state; +-- +2.37.3 + diff --git a/ibus.spec b/ibus.spec index 64e04bb..442f89b 100644 --- a/ibus.spec +++ b/ibus.spec @@ -39,7 +39,7 @@ Name: ibus Version: 1.5.27 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Intelligent Input Bus for Linux OS License: LGPLv2+ URL: https://github.com/ibus/%name/wiki @@ -301,6 +301,7 @@ fi #autoreconf -f -i -v #make -C ui/gtk3 maintainer-clean-generic #make -C tools maintainer-clean-generic +autoreconf -f -i -v %configure \ --disable-static \ --enable-gtk2 \ @@ -322,6 +323,7 @@ fi --enable-install-tests \ %{nil} +make -C ui/gtk3 maintainer-clean-generic %make_build %install @@ -521,6 +523,9 @@ dconf update || : %{_datadir}/installed-tests/ibus %changelog +* Thu Nov 03 2022 Takao Fujiwara - 1.5.27-4 +- Resolves: #2081055 Avoid to unref m_engines with double run + * Mon Sep 19 2022 Takao Fujiwara - 1.5.27-3 - Update ibus_input_context_set_surrounding_text for a global IC - Fix CI