[pygobject3] 3.3.3.1-2: fix a segfault when dealing with mismatched .so/typelib files

dmalcolm dmalcolm at fedoraproject.org
Wed Jun 27 00:06:45 UTC 2012


commit 7559bd5692e032ff8dfe2c9173f3d025f3d1b85e
Author: David Malcolm <dmalcolm at redhat.com>
Date:   Tue Jun 26 20:05:52 2012 -0400

    3.3.3.1-2: fix a segfault when dealing with mismatched .so/typelib files

 ...ix-segfault-with-class-interface-mismatch.patch |   12 ++++++++++++
 pygobject3.spec                                    |   11 ++++++++++-
 2 files changed, 22 insertions(+), 1 deletions(-)
---
diff --git a/pygobject-3.3.3.1-fix-segfault-with-class-interface-mismatch.patch b/pygobject-3.3.3.1-fix-segfault-with-class-interface-mismatch.patch
new file mode 100644
index 0000000..39fcc4a
--- /dev/null
+++ b/pygobject-3.3.3.1-fix-segfault-with-class-interface-mismatch.patch
@@ -0,0 +1,12 @@
+diff -up pygobject-3.3.3.1/gi/pygi-cache.c.old pygobject-3.3.3.1/gi/pygi-cache.c
+--- pygobject-3.3.3.1/gi/pygi-cache.c.old	2012-06-26 13:55:44.987711357 -0400
++++ pygobject-3.3.3.1/gi/pygi-cache.c	2012-06-26 13:56:39.242033085 -0400
+@@ -1277,6 +1277,8 @@ _args_cache_generate (GICallableInfo *ca
+                         return_direction,
+                         -1,
+                         -1);
++    if (return_cache == NULL)
++        return FALSE;
+ 
+     return_cache->is_skipped = g_callable_info_skip_return (callable_info);
+     callable_cache->return_cache = return_cache;
diff --git a/pygobject3.spec b/pygobject3.spec
index 2199e65..2c5e6bf 100644
--- a/pygobject3.spec
+++ b/pygobject3.spec
@@ -12,7 +12,7 @@
 
 Name: pygobject3
 Version: 3.3.3.1
-Release: 1%{?dist}
+Release: 2%{?dist}
 License: LGPLv2+ and MIT
 Group: Development/Languages
 Summary: Python 2 bindings for GObject Introspection
@@ -20,6 +20,11 @@ URL: https://live.gnome.org/PyGObject
 #VCS: git:git://git.gnome.org/pygobject
 Source: http://ftp.gnome.org/pub/GNOME/sources/pygobject/3.3/pygobject-%{version}.tar.xz
 
+# Fix a segfault when dealing with a typelib file that's out-of-sync with the
+# underlying code.
+# Reported upstream as https://bugzilla.gnome.org/show_bug.cgi?id=678914
+Patch1: pygobject-3.3.3.1-fix-segfault-with-class-interface-mismatch.patch
+
 ### Build Dependencies ###
 
 BuildRequires: glib2-devel >= %{glib2_version}
@@ -71,6 +76,7 @@ for use in Python 3 programs.
 
 %prep
 %setup -q -n pygobject-%{version}
+%patch1 -p1
 
 %if 0%{?with_python3}
 rm -rf %{py3dir}
@@ -144,6 +150,9 @@ find $RPM_BUILD_ROOT -name '*.a' -delete
 %endif # with_python3
 
 %changelog
+* Tue Jun 26 2012 David Malcolm <dmalcolm at redhat.com> - 3.3.3.1-2
+- fix a segfault when dealing with mismatched .so/typelib files
+
 * Mon Jun 25 2012 Peter Robinson <pbrobinson at fedoraproject.org> - 3.3.3.1-1
 - Update to 3.3.3.1
 


More information about the scm-commits mailing list