public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Sandro Mani <manisandro@gmail.com>
To: git-commits@fedoraproject.org
Subject: [rpms/mingw-glib2] f43: Update to 2.86.5
Date: Thu, 02 Jul 2026 16:45:40 GMT	[thread overview]
Message-ID: <178301074079.1.9134900705556244926.rpms-mingw-glib2-5db837b9ac3e@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/mingw-glib2
Branch : f43
Commit : 5db837b9ac3eb5b820e010dc64ef494280a7df70
Author : Sandro Mani <manisandro@gmail.com>
Date   : 2026-07-02T18:45:30+02:00
Stats  : +12/-376 in 6 file(s)
URL    : https://src.fedoraproject.org/rpms/mingw-glib2/c/5db837b9ac3eb5b820e010dc64ef494280a7df70?branch=f43

Log:
Update to 2.86.5

---
diff --git a/CVE-2026-1484.patch b/CVE-2026-1484.patch
deleted file mode 100644
index 9f7e98d..0000000
--- a/CVE-2026-1484.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff -rupN --no-dereference glib-2.87.1/glib/gbase64.c glib-2.87.1-new/glib/gbase64.c
---- glib-2.87.1/glib/gbase64.c	2025-12-30 17:35:41.000000000 +0100
-+++ glib-2.87.1-new/glib/gbase64.c	2026-01-29 18:26:02.416919922 +0100
-@@ -240,8 +240,10 @@ g_base64_encode (const guchar *data,
-                  gsize         len)
- {
-   gchar *out;
--  gint state = 0, outlen;
-+  gint state = 0;
-   gint save = 0;
-+  gsize outlen;
-+  gsize allocsize;
- 
-   g_return_val_if_fail (data != NULL || len == 0, NULL);
- 
-@@ -249,10 +251,15 @@ g_base64_encode (const guchar *data,
-      +1 is needed for trailing \0, also check for unlikely integer overflow */
-   g_return_val_if_fail (len < ((G_MAXSIZE - 1) / 4 - 1) * 3, NULL);
- 
--  out = g_malloc ((len / 3 + 1) * 4 + 1);
-+  allocsize = (len / 3 + 1) * 4 + 1;
-+  out = g_malloc (allocsize);
- 
-   outlen = g_base64_encode_step (data, len, FALSE, out, &state, &save);
-+  g_assert (outlen <= allocsize);
-+
-   outlen += g_base64_encode_close (FALSE, out + outlen, &state, &save);
-+  g_assert (outlen <= allocsize);
-+
-   out[outlen] = '\0';
- 
-   return (gchar *) out;

diff --git a/CVE-2026-1485.patch b/CVE-2026-1485.patch
deleted file mode 100644
index daf8ce9..0000000
--- a/CVE-2026-1485.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -rupN --no-dereference glib-2.87.1/gio/gcontenttype-fdo.c glib-2.87.1-new/gio/gcontenttype-fdo.c
---- glib-2.87.1/gio/gcontenttype-fdo.c	2025-12-30 17:35:41.000000000 +0100
-+++ glib-2.87.1-new/gio/gcontenttype-fdo.c	2026-01-29 18:26:02.574249304 +0100
-@@ -817,7 +817,7 @@ tree_match_free (TreeMatch *match)
- static TreeMatch *
- parse_header (gchar *line)
- {
--  gint len;
-+  size_t len;
-   gchar *s;
-   TreeMatch *match;
- 

diff --git a/CVE-2026-1489.patch b/CVE-2026-1489.patch
deleted file mode 100644
index 5452867..0000000
--- a/CVE-2026-1489.patch
+++ /dev/null
@@ -1,317 +0,0 @@
-diff -rupN --no-dereference glib-2.87.1/glib/guniprop.c glib-2.87.1-new/glib/guniprop.c
---- glib-2.87.1/glib/guniprop.c	2025-12-30 17:35:41.000000000 +0100
-+++ glib-2.87.1-new/glib/guniprop.c	2026-01-29 18:26:02.726261294 +0100
-@@ -772,14 +772,36 @@ get_locale_type (void)
-   return LOCALE_NORMAL;
- }
- 
--static gint
--output_marks (const char **p_inout,
--	      char        *out_buffer,
--	      gboolean     remove_dot)
-+G_ALWAYS_INLINE static inline void
-+increase_size (size_t *sizeptr, size_t add)
-+{
-+  g_assert (G_MAXSIZE - *(sizeptr) >= add);
-+  *(sizeptr) += add;
-+}
-+
-+G_ALWAYS_INLINE static inline void
-+append_utf8_char_to_buffer (gunichar  c,
-+                            char     *out_buffer,
-+                            size_t   *in_out_len)
-+{
-+  gint utf8_len;
-+  char *buffer;
-+
-+  buffer = out_buffer ? out_buffer + *(in_out_len) : NULL;
-+  utf8_len = g_unichar_to_utf8 (c, buffer);
-+
-+  g_assert (utf8_len >= 0);
-+  increase_size (in_out_len, utf8_len);
-+}
-+
-+static void
-+append_mark (const char **p_inout,
-+             char        *out_buffer,
-+             size_t      *in_out_len,
-+             gboolean     remove_dot)
- {
-   const char *p = *p_inout;
--  gint len = 0;
--  
-+
-   while (*p)
-     {
-       gunichar c = g_utf8_get_char (p);
-@@ -787,7 +809,7 @@ output_marks (const char **p_inout,
-       if (ISMARK (TYPE (c)))
- 	{
- 	  if (!remove_dot || c != 0x307 /* COMBINING DOT ABOVE */)
--	    len += g_unichar_to_utf8 (c, out_buffer ? out_buffer + len : NULL);
-+            append_utf8_char_to_buffer (c, out_buffer, in_out_len);
- 	  p = g_utf8_next_char (p);
- 	}
-       else
-@@ -795,14 +817,14 @@ output_marks (const char **p_inout,
-     }
- 
-   *p_inout = p;
--  return len;
- }
- 
--static gint
--output_special_case (gchar *out_buffer,
--		     int    offset,
--		     int    type,
--		     int    which)
-+static void
-+append_special_case (char   *out_buffer,
-+                     size_t *in_out_len,
-+                     int     offset,
-+                     int     type,
-+                     int     which)
- {
-   const gchar *p = special_case_table + offset;
-   size_t len;
-@@ -814,10 +836,12 @@ output_special_case (gchar *out_buffer,
-     p += strlen (p) + 1;
- 
-   len = strlen (p);
-+  g_assert (len < G_MAXSIZE - *in_out_len);
-+
-   if (out_buffer)
--    memcpy (out_buffer, p, len);
-+    memcpy (out_buffer + *in_out_len, p, len);
- 
--  return len;
-+  increase_size (in_out_len, len);
- }
- 
- static gsize
-@@ -858,11 +882,13 @@ real_toupper (const gchar *str,
- 		  decomp_len = g_unichar_fully_decompose (c, FALSE, decomp, G_N_ELEMENTS (decomp));
- 		  for (i=0; i < decomp_len; i++)
- 		    {
-+
- 		      if (decomp[i] != 0x307 /* COMBINING DOT ABOVE */)
--			len += g_unichar_to_utf8 (g_unichar_toupper (decomp[i]), out_buffer ? out_buffer + len : NULL);
-+                        append_utf8_char_to_buffer (g_unichar_toupper (decomp[i]),
-+                                                    out_buffer, &len);
- 		    }
--		  
--		  len += output_marks (&p, out_buffer ? out_buffer + len : NULL, TRUE);
-+
-+                  append_mark (&p, out_buffer, &len, TRUE);
- 
- 		  continue;
- 		}
-@@ -875,17 +901,17 @@ real_toupper (const gchar *str,
-       if (locale_type == LOCALE_TURKIC && c == 'i')
- 	{
- 	  /* i => LATIN CAPITAL LETTER I WITH DOT ABOVE */
--	  len += g_unichar_to_utf8 (0x130, out_buffer ? out_buffer + len : NULL); 
-+          append_utf8_char_to_buffer (0x130, out_buffer, &len);
- 	}
-       else if (c == 0x0345)	/* COMBINING GREEK YPOGEGRAMMENI */
- 	{
- 	  /* Nasty, need to move it after other combining marks .. this would go away if
- 	   * we normalized first.
- 	   */
--	  len += output_marks (&p, out_buffer ? out_buffer + len : NULL, FALSE);
-+          append_mark (&p, out_buffer, &len, TRUE);
- 
- 	  /* And output as GREEK CAPITAL LETTER IOTA */
--	  len += g_unichar_to_utf8 (0x399, out_buffer ? out_buffer + len : NULL); 	  
-+          append_utf8_char_to_buffer (0x399, out_buffer, &len);
- 	}
-       else if (IS (t,
- 		   OR (G_UNICODE_LOWERCASE_LETTER,
-@@ -896,8 +922,8 @@ real_toupper (const gchar *str,
- 
- 	  if (val >= 0x1000000)
- 	    {
--	      len += output_special_case (out_buffer ? out_buffer + len : NULL, val - 0x1000000, t,
--					  t == G_UNICODE_LOWERCASE_LETTER ? 0 : 1);
-+              append_special_case (out_buffer, &len, val - 0x1000000, t,
-+                                   t == G_UNICODE_LOWERCASE_LETTER ? 0 : 1);
- 	    }
- 	  else
- 	    {
-@@ -917,7 +943,7 @@ real_toupper (const gchar *str,
- 	      /* Some lowercase letters, e.g., U+000AA, FEMININE ORDINAL INDICATOR,
- 	       * do not have an uppercase equivalent, in which case val will be
- 	       * zero. */
--	      len += g_unichar_to_utf8 (val ? val : c, out_buffer ? out_buffer + len : NULL);
-+              append_utf8_char_to_buffer (val ? val : c, out_buffer, &len);
- 	    }
- 	}
-       else
-@@ -927,7 +953,7 @@ real_toupper (const gchar *str,
- 	  if (out_buffer)
- 	    memcpy (out_buffer + len, last, char_len);
- 
--	  len += char_len;
-+          increase_size (&len, char_len);
- 	}
- 
-     }
-@@ -965,6 +991,8 @@ g_utf8_strup (const gchar *str,
-    * We use a two pass approach to keep memory management simple
-    */
-   result_len = real_toupper (str, len, NULL, locale_type);
-+  g_assert (result_len < G_MAXSIZE);
-+
-   result = g_malloc (result_len + 1);
-   real_toupper (str, len, result, locale_type);
-   result[result_len] = '\0';
-@@ -1022,14 +1050,15 @@ real_tolower (const gchar *str,
-             {
-               /* I + COMBINING DOT ABOVE => i (U+0069)
-                * LATIN CAPITAL LETTER I WITH DOT ABOVE => i (U+0069) */
--              len += g_unichar_to_utf8 (0x0069, out_buffer ? out_buffer + len : NULL);
-+              append_utf8_char_to_buffer (0x0069, out_buffer, &len);
-+
-               if (combining_dot)
-                 p = g_utf8_next_char (p);
-             }
-           else
-             {
-               /* I => LATIN SMALL LETTER DOTLESS I */
--              len += g_unichar_to_utf8 (0x131, out_buffer ? out_buffer + len : NULL); 
-+              append_utf8_char_to_buffer (0x131, out_buffer, &len);
-             }
-         }
-       /* Introduce an explicit dot above when lowercasing capital I's and J's
-@@ -1037,19 +1066,19 @@ real_tolower (const gchar *str,
-       else if (locale_type == LOCALE_LITHUANIAN && 
-                (c == 0x00cc || c == 0x00cd || c == 0x0128))
-         {
--          len += g_unichar_to_utf8 (0x0069, out_buffer ? out_buffer + len : NULL); 
--          len += g_unichar_to_utf8 (0x0307, out_buffer ? out_buffer + len : NULL); 
-+          append_utf8_char_to_buffer (0x0069, out_buffer, &len);
-+          append_utf8_char_to_buffer (0x0307, out_buffer, &len);
- 
-           switch (c)
-             {
-             case 0x00cc: 
--              len += g_unichar_to_utf8 (0x0300, out_buffer ? out_buffer + len : NULL); 
-+              append_utf8_char_to_buffer (0x0300, out_buffer, &len);
-               break;
-             case 0x00cd: 
--              len += g_unichar_to_utf8 (0x0301, out_buffer ? out_buffer + len : NULL); 
-+              append_utf8_char_to_buffer (0x0301, out_buffer, &len);
-               break;
-             case 0x0128: 
--              len += g_unichar_to_utf8 (0x0303, out_buffer ? out_buffer + len : NULL); 
-+              append_utf8_char_to_buffer (0x0303, out_buffer, &len);
-               break;
-             }
-         }
-@@ -1058,8 +1087,8 @@ real_tolower (const gchar *str,
-                 c == 'J' || c == G_UNICHAR_FULLWIDTH_J || c == 0x012e) &&
-                has_more_above (p))
-         {
--          len += g_unichar_to_utf8 (g_unichar_tolower (c), out_buffer ? out_buffer + len : NULL); 
--          len += g_unichar_to_utf8 (0x0307, out_buffer ? out_buffer + len : NULL); 
-+          append_utf8_char_to_buffer (g_unichar_tolower (c), out_buffer, &len);
-+          append_utf8_char_to_buffer (0x0307, out_buffer, &len);
-         }
-       else if (c == 0x03A3)	/* GREEK CAPITAL LETTER SIGMA */
- 	{
-@@ -1082,7 +1111,7 @@ real_tolower (const gchar *str,
- 	  else
- 	    val = 0x3c2;	/* GREEK SMALL FINAL SIGMA */
- 
--	  len += g_unichar_to_utf8 (val, out_buffer ? out_buffer + len : NULL);
-+          append_utf8_char_to_buffer (val, out_buffer, &len);
- 	}
-       else if (IS (t,
- 		   OR (G_UNICODE_UPPERCASE_LETTER,
-@@ -1093,7 +1122,7 @@ real_tolower (const gchar *str,
- 
- 	  if (val >= 0x1000000)
- 	    {
--	      len += output_special_case (out_buffer ? out_buffer + len : NULL, val - 0x1000000, t, 0);
-+              append_special_case (out_buffer, &len, val - 0x1000000, t, 0);
- 	    }
- 	  else
- 	    {
-@@ -1112,7 +1141,7 @@ real_tolower (const gchar *str,
- 
- 	      /* Not all uppercase letters are guaranteed to have a lowercase
- 	       * equivalent.  If this is the case, val will be zero. */
--	      len += g_unichar_to_utf8 (val ? val : c, out_buffer ? out_buffer + len : NULL);
-+              append_utf8_char_to_buffer (val ? val : c, out_buffer, &len);
- 	    }
- 	}
-       else
-@@ -1122,7 +1151,7 @@ real_tolower (const gchar *str,
- 	  if (out_buffer)
- 	    memcpy (out_buffer + len, last, char_len);
- 
--	  len += char_len;
-+          increase_size (&len, char_len);
- 	}
- 
-     }
-@@ -1159,6 +1188,8 @@ g_utf8_strdown (const gchar *str,
-    * We use a two pass approach to keep memory management simple
-    */
-   result_len = real_tolower (str, len, NULL, locale_type);
-+  g_assert (result_len < G_MAXSIZE);
-+
-   result = g_malloc (result_len + 1);
-   real_tolower (str, len, result, locale_type);
-   result[result_len] = '\0';
-diff -rupN --no-dereference glib-2.87.1/glib/tests/unicode.c glib-2.87.1-new/glib/tests/unicode.c
---- glib-2.87.1/glib/tests/unicode.c	2025-12-30 17:35:41.000000000 +0100
-+++ glib-2.87.1-new/glib/tests/unicode.c	2026-01-29 18:26:02.727308433 +0100
-@@ -623,6 +623,7 @@ test_casemap_and_casefold (void)
-   const char *locale;
-   const char *test;
-   const char *expected;
-+  size_t line = 0;
-   char *convert;
-   char *current_locale = setlocale (LC_CTYPE, NULL);
-   char *old_lc_all, *old_lc_messages, *old_lang;
-@@ -643,6 +644,7 @@ test_casemap_and_casefold (void)
- 
-   while (fgets (buffer, sizeof (buffer), infile))
-     {
-+      line++;
-       if (buffer[0] == '#')
-         continue;
- 
-@@ -685,6 +687,9 @@ test_casemap_and_casefold (void)
- 
-       convert = g_utf8_strup (test, -1);
-       expected = strings[4][0] ? strings[4] : test;
-+      g_test_message ("Converting '%s' => '%s' (line %" G_GSIZE_FORMAT ")",
-+                      test, expected, line);
-+
-       g_assert_cmpstr (convert, ==, expected);
-       g_free (convert);
- 
-@@ -704,9 +709,11 @@ test_casemap_and_casefold (void)
- 
-   infile = g_fopen (filename, "re");
-   g_assert (infile != NULL);
-+  line = 0;
- 
-   while (fgets (buffer, sizeof (buffer), infile))
-     {
-+      line++;
-       if (buffer[0] == '#')
-         continue;
- 
-@@ -716,6 +723,9 @@ test_casemap_and_casefold (void)
-       test = strings[0];
- 
-       convert = g_utf8_casefold (test, -1);
-+      g_test_message ("Converting '%s' => '%s' (line %" G_GSIZE_FORMAT ")",
-+                      test, strings[1], line);
-+
-       g_assert_cmpstr (convert, ==, strings[1]);
-       g_free (convert);
- 

diff --git a/c5766cff61ffce0b8e787eae09908ac348338e5f.patch b/c5766cff61ffce0b8e787eae09908ac348338e5f.patch
index adc673e..d0b8272 100644
--- a/c5766cff61ffce0b8e787eae09908ac348338e5f.patch
+++ b/c5766cff61ffce0b8e787eae09908ac348338e5f.patch
@@ -1,6 +1,6 @@
-diff -rupN --no-dereference glib-2.86.3/gio/gbufferedinputstream.c glib-2.86.3-new/gio/gbufferedinputstream.c
---- glib-2.86.3/gio/gbufferedinputstream.c	2025-12-08 16:46:06.000000000 +0100
-+++ glib-2.86.3-new/gio/gbufferedinputstream.c	2026-01-17 10:40:17.635317018 +0100
+diff -rupN --no-dereference glib-2.86.5/gio/gbufferedinputstream.c glib-2.86.5-new/gio/gbufferedinputstream.c
+--- glib-2.86.5/gio/gbufferedinputstream.c	2026-04-02 20:26:19.000000000 +0200
++++ glib-2.86.5-new/gio/gbufferedinputstream.c	2026-07-02 18:44:36.664877740 +0200
 @@ -590,7 +590,7 @@ g_buffered_input_stream_peek (GBufferedI
  
    available = g_buffered_input_stream_get_available (stream);
@@ -10,9 +10,9 @@ diff -rupN --no-dereference glib-2.86.3/gio/gbufferedinputstream.c glib-2.86.3-n
      return 0;
  
    end = MIN (offset + count, available);
-diff -rupN --no-dereference glib-2.86.3/gio/tests/buffered-input-stream.c glib-2.86.3-new/gio/tests/buffered-input-stream.c
---- glib-2.86.3/gio/tests/buffered-input-stream.c	2025-12-08 16:46:06.000000000 +0100
-+++ glib-2.86.3-new/gio/tests/buffered-input-stream.c	2026-01-17 10:40:17.635610424 +0100
+diff -rupN --no-dereference glib-2.86.5/gio/tests/buffered-input-stream.c glib-2.86.5-new/gio/tests/buffered-input-stream.c
+--- glib-2.86.5/gio/tests/buffered-input-stream.c	2026-04-02 20:26:19.000000000 +0200
++++ glib-2.86.5-new/gio/tests/buffered-input-stream.c	2026-07-02 18:44:36.665503186 +0200
 @@ -60,6 +60,16 @@ test_peek (void)
    g_assert_cmpint (npeek, ==, 0);
    g_free (buffer);

diff --git a/mingw-glib2.spec b/mingw-glib2.spec
index 5bead09..5b8dae0 100644
--- a/mingw-glib2.spec
+++ b/mingw-glib2.spec
@@ -1,8 +1,8 @@
 %{?mingw_package_header}
 
 Name:           mingw-glib2
-Version:        2.86.3
-Release:        3%{?dist}
+Version:        2.86.5
+Release:        1%{?dist}
 Summary:        MinGW Windows GLib2 library
 
 License:        LGPL-2.0-or-later
@@ -13,12 +13,6 @@ Source0:        http://download.gnome.org/sources/glib/%{release_version}/glib-%
 
 # Backport fix for CVE-2026-0988
 Patch0:         https://gitlab.gnome.org/GNOME/glib/-/commit/c5766cff61ffce0b8e787eae09908ac348338e5f.patch
-# https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4978
-Patch1:         CVE-2026-1484.patch
-# https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4980
-Patch2:         CVE-2026-1485.patch
-# https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4983
-Patch3:         CVE-2026-1489.patch
 
 BuildArch:      noarch
 
@@ -303,6 +297,9 @@ find %{buildroot} -name "*.la" -delete
 
 
 %changelog
+* Thu Jul 02 2026 Sandro Mani <manisandro@gmail.com> - 2.86.5-1
+- Update to 2.86.5
+
 * Thu Jan 29 2026 Sandro Mani <manisandro@gmail.com> - 2.86.3-3
 - Backport fixes for CVE-2026-1484, CVE-2026-1485, CVE-2026-1489
 - Remove ancient, obsolete downstream patch from 2012 (RHBZ#2431179)

diff --git a/sources b/sources
index 9f23e60..2c7216f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (glib-2.86.3.tar.xz) = 2b53aba22eef2d21cb40334fe55715bf0ca5009e5e105c462cdedfb45da96cca35e7edc95af27022893832feb5bfc0b0ee554382c8c8f55a2a777b864cfc53ba
+SHA512 (glib-2.86.5.tar.xz) = e14e56659594cb1f929cf62b01f415b867592f83d7a624a8806c609c762fcdf6ab7bc4c68ab1faafd709f7448a52b8e37a7066a53c84b52607a8b5261bc8f222

                 reply	other threads:[~2026-07-02 16:45 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178301074079.1.9134900705556244926.rpms-mingw-glib2-5db837b9ac3e@fedoraproject.org \
    --to=manisandro@gmail.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox