public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/glib2] cve-2026-58016-f44: fix desktop file handling
@ 2026-08-11 10:33 Matthias Clasen
  0 siblings, 0 replies; only message in thread
From: Matthias Clasen @ 2026-08-11 10:33 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/glib2
Branch : cve-2026-58016-f44
Commit : f83bdb3324f16ee3222bfd4a2180604a992e169d
Author : Matthias Clasen <mclasen@fedoraproject.org>
Date   : 2007-12-22T18:06:02+00:00
Stats  : +115/-1 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/glib2/c/f83bdb3324f16ee3222bfd4a2180604a992e169d?branch=cve-2026-58016-f44

Log:
fix desktop file handling

---
diff --git a/desktopfiles.patch b/desktopfiles.patch
new file mode 100644
index 0000000..39de44b
--- /dev/null
+++ b/desktopfiles.patch
@@ -0,0 +1,106 @@
+diff -up glib-2.15.0/gio/gdesktopappinfo.c.desktopfiles glib-2.15.0/gio/gdesktopappinfo.c
+--- glib-2.15.0/gio/gdesktopappinfo.c.desktopfiles	2007-12-22 12:43:05.000000000 -0500
++++ glib-2.15.0/gio/gdesktopappinfo.c	2007-12-22 12:43:17.000000000 -0500
+@@ -920,10 +920,10 @@ static gboolean
+ g_desktop_app_info_supports_uris (GAppInfo *appinfo)
+ {
+   GDesktopAppInfo *info = G_DESKTOP_APP_INFO (appinfo);
+-  
+-  return
+-    (strstr (info->exec, "%u") != NULL) ||
+-    (strstr (info->exec, "%U") != NULL);
++ 
++  return info->exec && 
++    ((strstr (info->exec, "%u") != NULL) ||
++     (strstr (info->exec, "%U") != NULL));
+ }
+ 
+ static gboolean
+@@ -1581,7 +1581,8 @@ g_app_info_get_default_for_type (const c
+  * g_app_info_get_default_for_uri_scheme:
+  * @uri_scheme: a string containing a URI scheme.
+  *
+- * Gets the default application for launching applications using this URI scheme.
++ * Gets the default application for launching applications 
++ * using this URI scheme.
+  *
+  * TODO: This is currently unimplemented.
+  * 
+@@ -1625,11 +1626,12 @@ get_apps_from_dir (GHashTable *apps, 
+ 
+ 		  /* Don't return apps that don't take arguments */
+ 		  if (appinfo &&
+-		      g_desktop_app_info_get_is_hidden (appinfo) &&
+-		      strstr (appinfo->exec,"%U") == NULL &&
+-		      strstr (appinfo->exec,"%u") == NULL &&
+-		      strstr (appinfo->exec,"%f") == NULL &&
+-		      strstr (appinfo->exec,"%F") == NULL)
++		      (g_desktop_app_info_get_is_hidden (appinfo) ||
++		       (appinfo->exec && 
++			strstr (appinfo->exec,"%U") == NULL &&
++			strstr (appinfo->exec,"%u") == NULL &&
++			strstr (appinfo->exec,"%f") == NULL &&
++			strstr (appinfo->exec,"%F") == NULL)))
+ 		    {
+ 		      g_object_unref (appinfo);
+ 		      appinfo = NULL;
+@@ -1679,7 +1681,7 @@ g_app_info_get_all (void)
+   const char * const *dirs;
+   GHashTable *apps;
+   GHashTableIter iter;
+-  gpointer key;
++  gpointer value;
+   int i;
+   GList *infos;
+ 
+@@ -1695,8 +1697,8 @@ g_app_info_get_all (void)
+ 
+   infos = NULL;
+   g_hash_table_iter_init (&iter, apps);
+-  while (g_hash_table_iter_next (&iter, &key, NULL))
+-    infos = g_list_prepend (infos, key);
++  while (g_hash_table_iter_next (&iter, NULL, &value))
++    infos = g_list_prepend (infos, value);
+ 
+   g_hash_table_destroy (apps);
+ 
+@@ -2142,13 +2144,13 @@ append_desktop_entry (GList      *list, 
+  * get_all_desktop_entries_for_mime_type:
+  * @mime_type: a mime type.
+  *
+- * Returns all the desktop filenames for @mime_type. The desktop files
++ * Returns all the desktop ids for @mime_type. The desktop files
+  * are listed in an order so that default applications are listed before
+  * non-default ones, and handlers for inherited mimetypes are listed
+  * after the base ones.
+  *
+- * Return value: a #GList containing the desktop filenames containing the
+- * @mime_type.
++ * Return value: a #GList containing the desktop ids which claim
++ *    to handle @mime_type.
+  */
+ static GList *
+ get_all_desktop_entries_for_mime_type (const char *base_mime_type)
+diff -up glib-2.15.0/gio/gappinfo.c.desktopfiles glib-2.15.0/gio/gappinfo.c
+--- glib-2.15.0/gio/gappinfo.c.desktopfiles	2007-12-22 12:42:57.000000000 -0500
++++ glib-2.15.0/gio/gappinfo.c	2007-12-22 12:43:17.000000000 -0500
+@@ -139,6 +139,9 @@ g_app_info_equal (GAppInfo *appinfo1,
+  * platform dependent. For instance on Unix this is the
+  * desktop file id from the xdg menu specification.
+  *
++ * Note that the returned ID may be %NULL, depending on how
++ * the @appinfo has been constructed.
++ *
+  * Returns: a string containing the application's ID.
+  **/
+ const char *
+@@ -180,8 +183,7 @@ g_app_info_get_name (GAppInfo *appinfo)
+  * Gets a human-readable description of an installed application.
+  *
+  * Returns: a string containing a description of the 
+- * application @appinfo, or %NULL if none. The returned string should be not freed 
+- * when no longer needed.
++ * application @appinfo, or %NULL if none. 
+  **/
+ const char *
+ g_app_info_get_description (GAppInfo *appinfo)

diff --git a/glib2.spec b/glib2.spec
index 7c83ed8..5324352 100644
--- a/glib2.spec
+++ b/glib2.spec
@@ -3,13 +3,14 @@
 Summary: A library of handy utility functions
 Name: glib2
 Version: 2.15.0
-Release: 2%{?dist}
+Release: 3%{?dist}
 License: LGPLv2+
 Group: System Environment/Libraries
 URL: http://www.gtk.org
 Source: http://download.gnome.org/sources/glib/2.15/glib-%{version}.tar.bz2
 Source2: glib2.sh
 Source3: glib2.csh
+Patch0: desktopfiles.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: pkgconfig >= 1:0.14
 BuildRequires: gamin-devel
@@ -48,7 +49,11 @@ of version 2 of the GLib library.
 
 %prep
 %setup -q -n glib-%{version}
+<<<<<<< glib2.spec
+%patch0 -p1 -b .desktopfiles
+=======
 %patch0 -p1 -b .gtestutils.patch
+>>>>>>> 1.146
 
 %build
 for i in config.guess config.sub ; do
@@ -124,6 +129,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/lib*.a
 
 %changelog
+* Sat Dec 22 2007 Matthias Clasen <mclasen@redhat.com> - 2.15.0-3
+- Fix some errors in desktop files handling
+
 * Fri Dec 21 2007 Caolan McNamara <caolanm@redhat.com> - 2.15.0-2
 - add jakubs patch in so xulrunner will build and so gcc too
 

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-11 10:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-11 10:33 [rpms/glib2] cve-2026-58016-f44: fix desktop file handling Matthias Clasen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox