- Drop gnome-control-center-fix-region-preview-crash.patch: fixed

upstream.

OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-control-center?expand=0&rev=541
This commit is contained in:
Dominique Leuenberger 2024-02-13 10:26:11 +00:00 committed by Git OBS Bridge
parent 756f98dc31
commit f438697c0b
3 changed files with 2 additions and 54 deletions

View File

@ -1,51 +0,0 @@
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

View File

@ -5,6 +5,8 @@ Mon Feb 12 16:56:32 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
+ Datetime: Fix build with -Wincompatible-pointer-types.
+ Region: Prevent preview crash from accessing invalid pointer.
+ Wifi: Fix build with -Wincompatible-pointer-types.
- Drop gnome-control-center-fix-region-preview-crash.patch: fixed
upstream.
-------------------------------------------------------------------
Thu Jan 4 02:08:39 UTC 2024 - Alynx Zhou <alynx.zhou@suse.com>

View File

@ -39,8 +39,6 @@ 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.
@ -189,7 +187,6 @@ 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