From ac1bbc9d13c0d39138d16dc9c6c363fc7c0dae86 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Nov 10 2020 09:48:41 +0000 Subject: import ibus-1.5.17-12.el7_9 --- diff --git a/SOURCES/ibus-1882009-Fix-GVariant-leaks.patch b/SOURCES/ibus-1882009-Fix-GVariant-leaks.patch new file mode 100644 index 0000000..43aa2ff --- /dev/null +++ b/SOURCES/ibus-1882009-Fix-GVariant-leaks.patch @@ -0,0 +1,72 @@ +From 803e65e8e133a969d21d333ec932884e7617d438 Mon Sep 17 00:00:00 2001 +From: Carlos Garnacho +Date: Fri, 27 Oct 2017 21:40:45 +0200 +Subject: [PATCH] Fix GVariant leaks + +g_task_propagate_pointer() gives ownership of the data to the caller, so +the GVariants handed this way must be unref'ed after the contents have +been extracted/copied. +--- + src/ibusbus.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/ibusbus.c b/src/ibusbus.c +index fc0c90335..11659c41f 100644 +--- a/src/ibusbus.c ++++ b/src/ibusbus.c +@@ -755,6 +755,7 @@ _async_finish_object_path (GTask *task, + g_variant_get (result, "(v)", &variant); + path = g_variant_dup_string (variant, NULL); + g_variant_unref (variant); ++ g_variant_unref (result); + return path; + } + +@@ -772,6 +773,7 @@ _async_finish_string (GTask *task, + } + g_return_val_if_fail (variant != NULL, NULL); + g_variant_get (variant, "(&s)", &s); ++ g_variant_unref (variant); + return s; + } + +@@ -789,6 +791,7 @@ _async_finish_gboolean (GTask *task, + } + g_return_val_if_fail (variant != NULL, FALSE); + g_variant_get (variant, "(b)", &retval); ++ g_variant_unref (variant); + return retval; + } + +@@ -807,6 +810,7 @@ _async_finish_guint (GTask *task, + } + g_return_val_if_fail (variant != NULL, bad_id); + g_variant_get (variant, "(u)", &id); ++ g_variant_unref (variant); + return id; + } + +@@ -1864,6 +1868,7 @@ ibus_bus_list_engines_async_finish (IBusBus *bus, + } + g_variant_iter_free (iter); + g_variant_unref (variant); ++ g_variant_unref (result); + return retval; + } + +@@ -2243,6 +2248,7 @@ ibus_bus_get_global_engine_async_finish (IBusBus *bus, + g_variant_unref (obj); + g_variant_unref (variant); + } ++ g_variant_unref (result); + return engine; + } + +@@ -2461,6 +2467,7 @@ ibus_bus_get_ibus_property_async_finish (IBusBus *bus, + g_return_val_if_fail (result != NULL, NULL); + GVariant *retval = NULL; + g_variant_get (result, "(v)", &retval); ++ g_variant_unref (result); + + return retval; + } diff --git a/SPECS/ibus.spec b/SPECS/ibus.spec index 884bf89..548589e 100644 --- a/SPECS/ibus.spec +++ b/SPECS/ibus.spec @@ -40,7 +40,7 @@ Name: ibus Version: 1.5.17 -Release: 11%{?dist} +Release: 12%{?dist} Summary: Intelligent Input Bus for Linux OS License: LGPLv2+ Group: System Environment/Libraries @@ -59,6 +59,7 @@ Patch2: %{name}-1612432-click-firefox-anywhere.patch Patch3: %{name}-1686913-prctl.patch Patch4: %{name}-xx-rpmdiff-po-ko.patch Patch5: %{name}-1750835-server-auth-observer.patch +Patch6: %{name}-1882009-Fix-GVariant-leaks.patch BuildRequires: gettext-devel @@ -279,6 +280,7 @@ cp %SOURCE4 emoji/emoji-test.txt %patch3 -p1 -z .prctl %patch4 -p1 -z .rpmdiff %patch5 -p1 -z .socket-auth +%patch6 -p1 -z .fix-gvariant-leaks # cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c || cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c || @@ -496,6 +498,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &> /dev/null || : %{_datadir}/gtk-doc/html/* %changelog +* Wed Oct 14 2020 Ray Strode - 1.5.17-12 +- Resolves: #1882009 - Fix GVariant leaks + * Thu Apr 16 2020 Takao Fujiwara - 1.5.17-11 - Resolves: #1750835 - Fix CVE-2019-14822 missing authorization allows