diff --git a/0004-Correct-possible-deadlock-caused-in-icaltimezone_loa.patch b/0004-Correct-possible-deadlock-caused-in-icaltimezone_loa.patch new file mode 100644 index 0000000..c271928 --- /dev/null +++ b/0004-Correct-possible-deadlock-caused-in-icaltimezone_loa.patch @@ -0,0 +1,29 @@ +From aade7e4ff5ca87cda1c0c6503c8f0ff211c66860 Mon Sep 17 00:00:00 2001 +From: Milan Crha +Date: Mon, 6 Nov 2017 14:29:09 +0100 +Subject: [PATCH] Correct possible deadlock caused in + icaltimezone_load_builtin_timezone() + +There had been missing icaltimezone_builtin_unlock() when the passed-in +zone had not set location, which could cause deadlock in following calls +to acquire the builtin lock. +--- + src/libical/icaltimezone.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libical/icaltimezone.c b/src/libical/icaltimezone.c +index 7ed36414..58741d4c 100644 +--- a/src/libical/icaltimezone.c ++++ b/src/libical/icaltimezone.c +@@ -1822,7 +1822,7 @@ static void icaltimezone_load_builtin_timezone(icaltimezone *zone) + + /* If the location isn't set, it isn't a builtin timezone. */ + if (!zone->location || !zone->location[0]) +- return; ++ goto out; + + if (use_builtin_tzdata) { + char *filename; +-- +2.13.5 + diff --git a/libical.spec b/libical.spec index 8091b9a..d07107c 100644 --- a/libical.spec +++ b/libical.spec @@ -1,7 +1,7 @@ Summary: Reference implementation of the iCalendar data type and serialization format Name: libical Version: 3.0.0 -Release: 1%{?dist} +Release: 2%{?dist} License: LGPLv2 or MPLv2.0 URL: http://freeassociation.sourceforge.net/ Source: https://github.com/%{name}/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz @@ -9,6 +9,7 @@ Source: https://github.com/%{name}/%{name}/archive/v%{version}/%{name}-%{versio Patch01: 0001-Increase-element-size-in-libical-glib-array.py-test.patch Patch02: 0002-Return-back-fail-forgiveness-into-the-timezones-test.patch Patch03: 0003-Fix-possible-use-after-free-in-timezones-test.patch +Patch04: 0004-Correct-possible-deadlock-caused-in-icaltimezone_loa.patch BuildRequires: bison, byacc, flex BuildRequires: cmake @@ -77,6 +78,7 @@ Development files needed for building things which link against %{name}-glib. %patch01 -p1 -b .array-py-test-fix %patch02 -p1 -b .timezones-test-forgiveness %patch03 -p1 -b .timezones-test-use-after-free +%patch04 -p1 -b .deadlock-builtin-mutex %build mkdir -p %{_target_platform} @@ -138,6 +140,9 @@ make test ARGS="-V" -C %{_target_platform} %{_datadir}/gtk-doc/html/%{name}-glib %changelog +* Mon Nov 06 2017 Milan Crha - 3.0.0-2 +- Add a patch to Correct possible deadlock caused in icaltimezone_load_builtin_timezone() + * Mon Nov 06 2017 Milan Crha - 3.0.0-1 - Update to 3.0.0