[libcddb] Fix DNS timeout handler causing an abort due to longjmp and FORTIFY_SOURCE from a signal handler not

Hans de Goede jwrdegoede at fedoraproject.org
Thu Dec 29 14:57:58 UTC 2011


commit 898f3a6e04943a5699f1e08ff7580ed7c87aad10
Author: Hans de Goede <hdegoede at redhat.com>
Date:   Thu Dec 29 15:58:58 2011 +0100

    Fix DNS timeout handler causing an abort due to longjmp and
    FORTIFY_SOURCE from a signal handler not liking each other (rhbz#770611)

 libcddb-1.3.2-rhbz770611.patch |   14 ++++++++++++++
 libcddb.spec                   |   19 ++++++++-----------
 2 files changed, 22 insertions(+), 11 deletions(-)
---
diff --git a/libcddb-1.3.2-rhbz770611.patch b/libcddb-1.3.2-rhbz770611.patch
new file mode 100644
index 0000000..1e72d35
--- /dev/null
+++ b/libcddb-1.3.2-rhbz770611.patch
@@ -0,0 +1,14 @@
+diff -up libcddb-1.3.2/lib/cddb_net.c~ libcddb-1.3.2/lib/cddb_net.c
+--- libcddb-1.3.2/lib/cddb_net.c~	2009-03-01 04:28:07.000000000 +0100
++++ libcddb-1.3.2/lib/cddb_net.c	2011-12-29 15:54:30.180122335 +0100
+@@ -19,6 +19,10 @@
+     Boston, MA  02111-1307, USA.
+ */
+ 
++/* The way we use setjmp/longjmp to catch DNS timeouts is not compatible
++   with the extra checks FORTIFY_SOURCE causes to happen on longjmp */
++#undef _FORTIFY_SOURCE
++
+ #include "cddb/cddb_ni.h"
+ 
+ #include <errno.h>
diff --git a/libcddb.spec b/libcddb.spec
index 57f0a9f..e393aa6 100644
--- a/libcddb.spec
+++ b/libcddb.spec
@@ -1,13 +1,13 @@
 Summary:	Library (C API) for accessing CDDB servers
 Name:		libcddb
 Version:	1.3.2
-Release:	6%{?dist}
+Release:	7%{?dist}
 License: 	LGPLv2+
 Group: 		System Environment/Libraries
 URL: 		http://libcddb.sourceforge.net/
 Source0: 	http://downloads.sourceforge.net/libcddb/%{name}-%{version}.tar.bz2
 Patch0:		libcddb-1.3.0-multilib.patch
-BuildRoot: 	%{_tmppath}/%{name}-%{version}-%{release}-buildroot-%(%{__id_u} -n)
+Patch1:         libcddb-1.3.2-rhbz770611.patch
 BuildRequires:	pkgconfig, libcdio-devel >= 0.67
 
 %description
@@ -18,8 +18,7 @@ HTTP, SMTP) to access data on a CDDB server (e.g http://freedb.org/).
 %package devel
 Summary:	Development files for libcddb
 Group:		Development/Libraries
-Requires:	%{name} = %{version}-%{release}
-Requires:	pkgconfig
+Requires:	%{name}%{?_isa} = %{version}-%{release}
 
 %description devel
 Libcddb is a library that implements the different protocols (CDDBP,
@@ -31,6 +30,7 @@ for libcddb.
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
 iconv -f ISO_8859-1 -t UTF-8 THANKS > THANKS.tmp
 touch -r THANKS THANKS.tmp
 mv THANKS.tmp THANKS
@@ -48,34 +48,31 @@ make %{?_smp_mflags}
 
 
 %install
-rm -rf $RPM_BUILD_ROOT
 make install DESTDIR=$RPM_BUILD_ROOT
 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
 
 
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-
 %post -p /sbin/ldconfig
 
 %postun -p /sbin/ldconfig
 
 
 %files
-%defattr(-,root,root,-)
 %doc AUTHORS COPYING NEWS README THANKS ChangeLog TODO
 %{_libdir}/libcddb.so.*
 %{_bindir}/cddb_query
 
 %files devel
-%defattr(-,root,root,-)
 %{_libdir}/libcddb.so
 %{_includedir}/cddb
 %{_libdir}/pkgconfig/libcddb.pc
 
 
 %changelog
+* Thu Dec 29 2011 Hans de Goede <hdegoede at redhat.com> - 1.3.2-7
+- Fix DNS timeout handler causing an abort due to longjmp and
+  FORTIFY_SOURCE from a signal handler not liking each other (rhbz#770611)
+
 * Sun Nov 20 2011 Adrian Reber <adrian at lisas.de> 1.3.2-6
 - Rebuilt for new libcdio
 


More information about the scm-commits mailing list