Add a patch to Correct possible deadlock caused in icaltimezone_load_builtin_timezone()

This commit is contained in:
Milan Crha 2017-11-06 14:41:35 +01:00
parent 5b82d9720a
commit 0dcaf60b1e
2 changed files with 35 additions and 1 deletions

View File

@ -0,0 +1,29 @@
From aade7e4ff5ca87cda1c0c6503c8f0ff211c66860 Mon Sep 17 00:00:00 2001
From: Milan Crha <mcrha@redhat.com>
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

View File

@ -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 <mcrha@redhat.com> - 3.0.0-2
- Add a patch to Correct possible deadlock caused in icaltimezone_load_builtin_timezone()
* Mon Nov 06 2017 Milan Crha <mcrha@redhat.com> - 3.0.0-1
- Update to 3.0.0