Accepting request 1136763 from GNOME:Factory
OBS-URL: https://build.opensuse.org/request/show/1136763 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gnome-control-center?expand=0&rev=240
This commit is contained in:
commit
405eba3057
51
gnome-control-center-fix-region-preview-crash.patch
Normal file
51
gnome-control-center-fix-region-preview-crash.patch
Normal file
@ -0,0 +1,51 @@
|
||||
From d4a522277bcd1e172be57f3525c2d24831bb3cc5 Mon Sep 17 00:00:00 2001
|
||||
From: Alynx Zhou <alynx.zhou@gmail.com>
|
||||
Date: Thu, 4 Jan 2024 10:29:49 +0800
|
||||
Subject: [PATCH] system/region: Prevent preview crash from accessing invalid
|
||||
pointer
|
||||
|
||||
In !2051, we switch back to real locale before setting the label text,
|
||||
however, according to nl_langinfo's manpage, the returned pointer could
|
||||
be invalid after switching locale or creating new locale, so the program
|
||||
may crash.
|
||||
|
||||
To fix this, we save the result before switching locale, so we won't
|
||||
access the invalid pointer after switch locale.
|
||||
---
|
||||
panels/region/cc-format-preview.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/panels/region/cc-format-preview.c b/panels/region/cc-format-preview.c
|
||||
index 7aea45511..e4f4afa32 100644
|
||||
--- a/panels/region/cc-format-preview.c
|
||||
+++ b/panels/region/cc-format-preview.c
|
||||
@@ -69,6 +69,7 @@ update_format_examples (CcFormatPreview *self)
|
||||
g_autofree gchar *s = NULL;
|
||||
#ifdef LC_MEASUREMENT
|
||||
const gchar *fmt;
|
||||
+ gboolean is_imperial = FALSE;
|
||||
#endif
|
||||
g_autoptr(GtkPaperSize) paper = NULL;
|
||||
|
||||
@@ -133,6 +134,9 @@ update_format_examples (CcFormatPreview *self)
|
||||
old_locale = uselocale (locale);
|
||||
|
||||
fmt = nl_langinfo (_NL_MEASUREMENT_MEASUREMENT);
|
||||
+ /* The returned pointer of nl_langinfo could be invalid after switching
|
||||
+ locale, so we must use it here. */
|
||||
+ is_imperial = fmt && *fmt == 2;
|
||||
|
||||
if (locale != (locale_t) 0)
|
||||
{
|
||||
@@ -140,7 +144,7 @@ update_format_examples (CcFormatPreview *self)
|
||||
freelocale (locale);
|
||||
}
|
||||
|
||||
- if (fmt && *fmt == 2)
|
||||
+ if (is_imperial)
|
||||
gtk_label_set_text (GTK_LABEL (self->measurement_format_label), C_("measurement format", "Imperial"));
|
||||
else
|
||||
gtk_label_set_text (GTK_LABEL (self->measurement_format_label), C_("measurement format", "Metric"));
|
||||
--
|
||||
2.43.0
|
||||
|
@ -1,3 +1,12 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 4 02:08:39 UTC 2024 - Alynx Zhou <alynx.zhou@suse.com>
|
||||
|
||||
- Add gnome-control-center-fix-region-preview-crash.patch:
|
||||
nl_langinfo's returned pointer could be invalid after switching
|
||||
locale, so we have to save the result before switch locale to
|
||||
prevent the crash (bsc#1218528,
|
||||
glgo#GNOME/gnome-control-center!2122).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 7 20:53:58 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package gnome-control-center
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -39,6 +39,8 @@ Source99: %{name}-rpmlintrc
|
||||
Patch1: gnome-control-center-disable-error-message-for-NM.patch
|
||||
# PATCH-FIX-UPSTREAM gnome-control-center-add-user-button.patch bsc#1215556 glgo#GNOME/Settings!1927 xwang@suse.com -- Show add user button
|
||||
Patch2: gnome-control-center-add-user-button.patch
|
||||
# PATCH-FIX-UPSTREAM gnome-control-center-fix-region-preview-crash.patch bsc#1218528 glgo#GNOME/gnome-control-center!2122 alynx.zhou@suse.com -- Fix crash of region preview dialog
|
||||
Patch3: gnome-control-center-fix-region-preview-crash.patch
|
||||
|
||||
### patches for Leap >= 15 plus SLE >= 15, but not TW
|
||||
# PATCH-FEATURE-SLE gnome-control-center-info-never-use-gnome-software.patch bsc#999336 fezhang@suse.com -- info: Never search for gnome-software as an option when checking for updates on SLE and Leap 42.2, because we use gpk-update-viewer.
|
||||
@ -187,6 +189,7 @@ GNOME control center.
|
||||
%setup -q
|
||||
%patch -P 1 -p1
|
||||
%patch -P 2 -p1
|
||||
%patch -P 3 -p1
|
||||
|
||||
# patches for Leap >= 15 plus SLE >= 15, but not TW
|
||||
%if 0%{?sle_version} >= 150000
|
||||
|
Loading…
Reference in New Issue
Block a user