rpms/glib2/devel 0003-Fix-bug-in-strinfo.patch, NONE, 1.1 glib2.spec, 1.254, 1.255

Richard Hughes rhughes at fedoraproject.org
Tue Jun 22 08:54:41 UTC 2010


Author: rhughes

Update of /cvs/pkgs/rpms/glib2/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv17362

Modified Files:
	glib2.spec 
Added Files:
	0003-Fix-bug-in-strinfo.patch 
Log Message:
* Tue Jun 22 2010 Richard Hughes <rhughes at redhat.com> - 2.25.9-2
- Backport a patch from git master to avoid a segfault when doing the
  schema file check for several GNOME projects.


0003-Fix-bug-in-strinfo.patch:
 strinfo.c |    3 +++
 1 file changed, 3 insertions(+)

--- NEW FILE 0003-Fix-bug-in-strinfo.patch ---
>From a7689537605ade51b19be76baa3fba303527483d Mon Sep 17 00:00:00 2001
From: Ryan Lortie <desrt at desrt.ca>
Date: Sat, 19 Jun 2010 11:38:57 -0400
Subject: [PATCH 03/45] Fix bug in strinfo

We can't search for a larger needle inside of a smaller haystack, and
unsigned integer subtraction tends to result in very large numbers
rather than small ones.

Add a check for this case and abort out immediately.

Also add a test case (lifted directly from the docs) that demonstrates
the problem.

Issue discovered and tracked down by Milan Bouchet-Valat
---
 gio/strinfo.c                                |    3 ++
 gio/tests/gschema-compile.c                  |    3 +-
 gio/tests/schema-tests/from-docs.gschema.xml |   34 ++++++++++++++++++++++++++
 3 files changed, 39 insertions(+), 1 deletions(-)
 create mode 100644 gio/tests/schema-tests/from-docs.gschema.xml

diff --git a/gio/strinfo.c b/gio/strinfo.c
index 9ba18aa..f762fc5 100644
--- a/gio/strinfo.c
+++ b/gio/strinfo.c
@@ -147,6 +147,9 @@ strinfo_scan (const guint32 *strinfo,
 {
   guint i = 0;
 
+  if (length < n_words)
+    return -1;
+
   while (i <= length - n_words)
     {
       guint j = 0;


Index: glib2.spec
===================================================================
RCS file: /cvs/pkgs/rpms/glib2/devel/glib2.spec,v
retrieving revision 1.254
retrieving revision 1.255
diff -u -p -r1.254 -r1.255
--- glib2.spec	21 Jun 2010 13:54:59 -0000	1.254
+++ glib2.spec	22 Jun 2010 08:54:41 -0000	1.255
@@ -3,7 +3,7 @@
 Summary: A library of handy utility functions
 Name: glib2
 Version: 2.25.9
-Release: 1%{?dist}
+Release: 2%{?dist}
 License: LGPLv2+
 Group: System Environment/Libraries
 URL: http://www.gtk.org
@@ -26,6 +26,9 @@ BuildRequires: gtk-doc
 # required for GIO content-type support
 Requires: shared-mime-info
 
+# already upstream
+Patch1: 0003-Fix-bug-in-strinfo.patch
+
 %description
 GLib is the low-level core library that forms the basis for projects
 such as GTK+ and GNOME. It provides data structure handling for C,
@@ -52,6 +55,7 @@ The glib2-static package includes static
 
 %prep
 %setup -q -n glib-%{version}
+%patch1 -p1 -b .strinfo-bug
 
 %build
 %configure --disable-gtk-doc \
@@ -161,6 +165,10 @@ gio-querymodules-%{__isa_bits} %{_libdir
 %{_libdir}/lib*.a
 
 %changelog
+* Tue Jun 22 2010 Richard Hughes <rhughes at redhat.com> - 2.25.9-2
+- Backport a patch from git master to avoid a segfault when doing the
+  schema file check for several GNOME projects.
+
 * Fri Jun 18 2010 Matthias Clasen <mclasen at redhat.com> - 2.25.9-1
 - Update to 2.25.9
 



More information about the scm-commits mailing list