summaryrefslogtreecommitdiff
path: root/src/libical
diff options
context:
space:
mode:
authorAdam Dingle <adam@medovina.org>2019-10-26 21:46:57 +0200
committerAllen Winter <allen.winter@kdab.com>2019-10-27 13:15:57 -0400
commit464bef5c94d738a25dd3d7e70dda17bad39a2cf0 (patch)
treee9a489abc25be24590f11c7fe60389cc2e576781 /src/libical
parent3e02429c775b0b7d7675f8165337e381b418af29 (diff)
downloadlibical-git-464bef5c94d738a25dd3d7e70dda17bad39a2cf0.tar.gz
icaltimezone.c: Fix race condition on zone changes array
Diffstat (limited to 'src/libical')
-rw-r--r--src/libical/icaltimezone.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libical/icaltimezone.c b/src/libical/icaltimezone.c
index 3e8ed883..0f68d475 100644
--- a/src/libical/icaltimezone.c
+++ b/src/libical/icaltimezone.c
@@ -982,11 +982,11 @@ int icaltimezone_get_utc_offset_of_utc_time(icaltimezone *zone,
if (zone->builtin_timezone)
zone = zone->builtin_timezone;
+ icaltimezone_changes_lock();
+
/* Make sure the changes array is expanded up to the given time. */
icaltimezone_ensure_coverage(zone, tt->year);
- icaltimezone_changes_lock();
-
if (!zone->changes || zone->changes->num_elements == 0) {
icaltimezone_changes_unlock();
return 0;