diff options
author | Allen Winter <allen.winter@kdab.com> | 2017-11-13 18:37:13 -0500 |
---|---|---|
committer | Allen Winter <allen.winter@kdab.com> | 2017-11-13 18:37:13 -0500 |
commit | 0b4743a6c218893286f41b611f3057f683c6c691 (patch) | |
tree | ecb5285f7236056e8d0d7ef4006c90b340e4aed6 | |
parent | bc05dbba79021b7373681cc982ddee04d1ba126e (diff) | |
download | libical-git-0b4743a6c218893286f41b611f3057f683c6c691.tar.gz |
icaltimezone.c - Fix a multi-threaded deadlock in icaltimezone_load_builtin_timezone()
-rw-r--r-- | ReleaseNotes.txt | 1 | ||||
-rw-r--r-- | src/libical/icaltimezone.c | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/ReleaseNotes.txt b/ReleaseNotes.txt index 0e03329c..9487fc2e 100644 --- a/ReleaseNotes.txt +++ b/ReleaseNotes.txt @@ -4,6 +4,7 @@ Release Highlights Version 3.0.1: -------------- * Built-in timezones updated to tzdata2017c + * Fix a multi-threaded deadlock in icaltimezone_load_builtin_timezone() Version 3.0.0: -------------- diff --git a/src/libical/icaltimezone.c b/src/libical/icaltimezone.c index 7ed36414..070b1252 100644 --- a/src/libical/icaltimezone.c +++ b/src/libical/icaltimezone.c @@ -1821,8 +1821,10 @@ static void icaltimezone_load_builtin_timezone(icaltimezone *zone) icaltimezone_builtin_lock(); /* If the location isn't set, it isn't a builtin timezone. */ - if (!zone->location || !zone->location[0]) + if (!zone->location || !zone->location[0]) { + icaltimezone_builtin_unlock(); return; + } if (use_builtin_tzdata) { char *filename; |