Update to 3.0.1
This commit is contained in:
parent
0dcaf60b1e
commit
461718c884
1
.gitignore
vendored
1
.gitignore
vendored
@ -3,3 +3,4 @@
|
||||
/libical-1.0.1.tar.gz
|
||||
/libical-2.0.0.tar.gz
|
||||
/libical-3.0.0.tar.gz
|
||||
/libical-3.0.1.tar.gz
|
||||
|
@ -1,30 +0,0 @@
|
||||
From eeeaeddd215a8b3796fa66473877629d697a7fcf Mon Sep 17 00:00:00 2001
|
||||
From: Milan Crha <mcrha@redhat.com>
|
||||
Date: Wed, 1 Nov 2017 16:17:49 +0100
|
||||
Subject: [PATCH 1/3] Increase element size in libical-glib/array.py test
|
||||
|
||||
The element size 100 was not enough to hold the whole object
|
||||
on ppc64, ppc64le, aarch64 and s390x architectures, causing objects
|
||||
breakages and later even crashes. Hence increase the element size.
|
||||
The size 128 is enough, but use higher value, to have some room
|
||||
for the future.
|
||||
---
|
||||
src/test/libical-glib/array.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/test/libical-glib/array.py b/src/test/libical-glib/array.py
|
||||
index 571d45a2..cc7cc758 100755
|
||||
--- a/src/test/libical-glib/array.py
|
||||
+++ b/src/test/libical-glib/array.py
|
||||
@@ -22,7 +22,7 @@ import sys
|
||||
from gi.repository import ICalGLib
|
||||
from sys import getsizeof
|
||||
|
||||
-array = ICalGLib.Array.new(100, 100);
|
||||
+array = ICalGLib.Array.new(256, 100);
|
||||
|
||||
element1 = "hello";
|
||||
element2 = "world";
|
||||
--
|
||||
2.13.5
|
||||
|
@ -1,31 +0,0 @@
|
||||
From a84f1f97e995008657c19f931b6bf589e883e84c Mon Sep 17 00:00:00 2001
|
||||
From: Milan Crha <mcrha@redhat.com>
|
||||
Date: Wed, 1 Nov 2017 17:45:49 +0100
|
||||
Subject: [PATCH 2/3] Return back fail-forgiveness into the 'timezones' test
|
||||
|
||||
This returns a little part of commit 77f82ba88abbb633dc52335fcc050bec3b41c269,
|
||||
to not fail the test when less than two percents of the test fail.
|
||||
It stroke with tzdata-2017c.
|
||||
---
|
||||
src/test/timezones.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/src/test/timezones.c b/src/test/timezones.c
|
||||
index 661c008f..4ccfdea7 100644
|
||||
--- a/src/test/timezones.c
|
||||
+++ b/src/test/timezones.c
|
||||
@@ -159,6 +159,11 @@ int main()
|
||||
percent_failed = total_failed * 100 / (total_failed + total_okay);
|
||||
printf(" *** Summary: %lu zones tested, %u days failed, %u okay => %u%% failed ***\n",
|
||||
(unsigned long)timezones->num_elements, total_failed, total_okay, percent_failed);
|
||||
+
|
||||
+ if (percent_failed <= 1 && total_failed) {
|
||||
+ ret = 0;
|
||||
+ printf(" *** Expect some small error rate with inter-operable vtimezones *** \n");
|
||||
+ }
|
||||
}
|
||||
|
||||
icaltimezone_free_builtin_timezones();
|
||||
--
|
||||
2.13.5
|
||||
|
@ -1,69 +0,0 @@
|
||||
From c1485563af90468704d835a5f9af506ead1de861 Mon Sep 17 00:00:00 2001
|
||||
From: Milan Crha <mcrha@redhat.com>
|
||||
Date: Wed, 1 Nov 2017 18:14:23 +0100
|
||||
Subject: [PATCH 3/3] Fix possible use-after-free in 'timezones' test
|
||||
|
||||
valgrind report of the use-after-free:
|
||||
Invalid read of size 1
|
||||
at 0x4C31B82: strlen (vg_replace_strmem.c:458)
|
||||
by 0x510C484: vfprintf (in /usr/lib64/libc-2.25.so)
|
||||
by 0x5113425: printf (in /usr/lib64/libc-2.25.so)
|
||||
by 0x401116: main (timezones.c:116)
|
||||
Address 0x8431930 is 0 bytes inside a block of size 19 free'd
|
||||
at 0x4C2FD18: free (vg_replace_malloc.c:530)
|
||||
by 0x4E87B27: icaltimezone_get_vtimezone_properties (icaltimezone.c:321)
|
||||
by 0x4E8A6CA: icaltimezone_load_builtin_timezone (icaltimezone.c:1873)
|
||||
by 0x4E88148: icaltimezone_ensure_coverage (icaltimezone.c:483)
|
||||
by 0x4E88FAC: icaltimezone_get_utc_offset_of_utc_time (icaltimezone.c:1003)
|
||||
by 0x4E88ACF: icaltimezone_convert_time (icaltimezone.c:813)
|
||||
by 0x4E85548: icaltime_convert_to_zone (icaltime.c:981)
|
||||
by 0x400F2C: main (timezones.c:98)
|
||||
Block was alloc'd at
|
||||
at 0x4C2EB6B: malloc (vg_replace_malloc.c:299)
|
||||
by 0x514ECE9: strdup (in /usr/lib64/libc-2.25.so)
|
||||
by 0x4E8A31F: icaltimezone_parse_zone_tab (icaltimezone.c:1761)
|
||||
by 0x4E89C5F: icaltimezone_init_builtin_timezones (icaltimezone.c:1566)
|
||||
by 0x4E89757: icaltimezone_get_builtin_timezones (icaltimezone.c:1347)
|
||||
by 0x400DB4: main (timezones.c:53)
|
||||
|
||||
Which means that the 'zone_location' variable holds freed memory
|
||||
from time of icaltimezone_load_builtin_timezone() within
|
||||
icaltimezone_ensure_coverage().
|
||||
---
|
||||
src/test/timezones.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/test/timezones.c b/src/test/timezones.c
|
||||
index 4ccfdea7..98ba1c82 100644
|
||||
--- a/src/test/timezones.c
|
||||
+++ b/src/test/timezones.c
|
||||
@@ -26,7 +26,7 @@ int main()
|
||||
{
|
||||
icalarray *timezones;
|
||||
icaltimezone *zone, *utc_zone;
|
||||
- char *zone_location;
|
||||
+ const char *zone_location;
|
||||
size_t i;
|
||||
int ret = 0;
|
||||
unsigned int total_failed = 0;
|
||||
@@ -56,7 +56,7 @@ int main()
|
||||
/* for all known time zones... */
|
||||
for (i = 0; i < timezones->num_elements; i++) {
|
||||
zone = (icaltimezone *)icalarray_element_at(timezones, i);
|
||||
- zone_location = (char *)icaltimezone_get_location(zone);
|
||||
+ zone_location = icaltimezone_get_location(zone);
|
||||
zonedef_printed = 0;
|
||||
if (!zone_location)
|
||||
continue;
|
||||
@@ -116,7 +116,7 @@ int main()
|
||||
printf(
|
||||
"%s: day %03d: %s: %04d-%02d-%02d %02d:%02d:%02d UTC = "
|
||||
"libc %04d-%02d-%02d %02d:%02d:%02d dst %d",
|
||||
- zone_location, day,
|
||||
+ icaltimezone_get_location(zone), day,
|
||||
verbose ? (curr_failed ? "failed" : "okay") : (curr_failed ? "first failed" :
|
||||
"okay again"),
|
||||
utc_tm.tm_year + 1900, utc_tm.tm_mon + 1, utc_tm.tm_mday, utc_tm.tm_hour,
|
||||
--
|
||||
2.13.5
|
||||
|
@ -1,29 +0,0 @@
|
||||
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
|
||||
|
16
libical.spec
16
libical.spec
@ -1,16 +1,11 @@
|
||||
Summary: Reference implementation of the iCalendar data type and serialization format
|
||||
Name: libical
|
||||
Version: 3.0.0
|
||||
Release: 2%{?dist}
|
||||
Version: 3.0.1
|
||||
Release: 1%{?dist}
|
||||
License: LGPLv2 or MPLv2.0
|
||||
URL: http://freeassociation.sourceforge.net/
|
||||
Source: https://github.com/%{name}/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
|
||||
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
|
||||
BuildRequires: gtk-doc
|
||||
@ -75,10 +70,6 @@ Development files needed for building things which link against %{name}-glib.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%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}
|
||||
@ -140,6 +131,9 @@ make test ARGS="-V" -C %{_target_platform}
|
||||
%{_datadir}/gtk-doc/html/%{name}-glib
|
||||
|
||||
%changelog
|
||||
* Mon Nov 20 2017 Milan Crha <mcrha@redhat.com> - 3.0.1-1
|
||||
- Update to 3.0.1
|
||||
|
||||
* 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()
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (libical-3.0.0.tar.gz) = 96eaf92f3ae8257999ef4410e2e6de95d1fee0d76c519ab5abc4eead556e1fab42cf74803637a748c3f3601fa60018a2cac26a5a531447c1d4928defd5491a5e
|
||||
SHA512 (libical-3.0.1.tar.gz) = 559f2b3c8a64e1734a2bacb41baa12be3580c83ddf781502a47ad7d01ded2bae54c2cf3a165ebf2257f26902fc68cfe48dc582127d52716ec58f89ae2e5ceff4
|
||||
|
Loading…
Reference in New Issue
Block a user