diff options
author | Adam Dingle <adam@medovina.org> | 2019-10-26 21:46:57 +0200 |
---|---|---|
committer | Allen Winter <allen.winter@kdab.com> | 2019-10-27 13:15:57 -0400 |
commit | 464bef5c94d738a25dd3d7e70dda17bad39a2cf0 (patch) | |
tree | e9a489abc25be24590f11c7fe60389cc2e576781 | |
parent | 3e02429c775b0b7d7675f8165337e381b418af29 (diff) | |
download | libical-git-464bef5c94d738a25dd3d7e70dda17bad39a2cf0.tar.gz |
icaltimezone.c: Fix race condition on zone changes array
-rw-r--r-- | src/libical/icaltimezone.c | 4 |
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; |