summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2013-12-18 12:01:46 +0000
committerJoshua Colp <jcolp@digium.com>2013-12-18 12:01:46 +0000
commit513756b9565856c75fbf54b990dfd1681f3071d2 (patch)
tree4550ee16b48c3195f0f49da124490ec44f95429e
parent2a6df87fcd71135fbe6b410a7bc7c222a073711d (diff)
res_calendar: Protect channel when adding datastore.
This change adds a missing channel lock when adding a datastore to a channel. ........ Merged revisions 404135 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 404136 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 404137 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@404138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r--res/res_calendar.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/res/res_calendar.c b/res/res_calendar.c
index dfae4985a..eebd7b480 100644
--- a/res/res_calendar.c
+++ b/res/res_calendar.c
@@ -775,7 +775,10 @@ static void *do_notify(void *data)
datastore->inheritance = DATASTORE_INHERIT_FOREVER;
ao2_ref(event, +1);
+
+ ast_channel_lock(chan);
res = ast_channel_datastore_add(chan, datastore);
+ ast_channel_unlock(chan);
if (!(tmpstr = ast_str_create(32))) {
goto notify_cleanup;