From: Joshua Colp Date: Wed, 18 Dec 2013 12:01:46 +0000 (+0000) Subject: res_calendar: Protect channel when adding datastore. X-Git-Tag: 13.0.0-beta1~735 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=513756b9565856c75fbf54b990dfd1681f3071d2;p=thirdparty%2Fasterisk.git 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 --- diff --git a/res/res_calendar.c b/res/res_calendar.c index dfae4985a3..eebd7b480e 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;